[JAVA] Easy program installer and automatic program updater that can be used in any language

It makes it very easy to distribute desktop programs. Also, after installation, if it is automatically checked for updates at the next startup, it will be downloaded and started after updating.

Simply pass the two files to the user and you're ready to install.

https://github.com/mikeshimura/mike_launcher

For example, for an application called javadesktop.

$ javadesktop.ini and javadesktop.exe (for windows) or javadesktop (for Mac)

Keep the Zip file and other update files in Amazon S3.

At the first installation, the Zip file will be downloaded and unzipped. Then, the update file will be downloaded.

The program then executes the command and the actual program runs.

The next time you start it, check the S3 repository to see if the update file is up to date, and if so, download it.

The program then executes the command and the actual program runs.

The contents of $ godesktop.ini are as follows.

[default]
OS = WIN
REGION = us-east-1
AWS_ACCESS_KEY_ID = AKIAXXXXxXX
AWS_SECRET_ACCESS_KEY = XXXXXXXXXXXXXXXXXXXX
BUCKET =desktoptool
ZIP = $javadesktop.zip
WATCH= $javadesktop-watch.txt
HIS = $his.json
UNZIP = classes.zip
CMD = java -cp lib/*;classes com.mssoftech.javadesktop.Application

OS is WIN or MAC

HIS is the name of the history (update record) file.

UNZIP = classes.zip This will be automatically unzipped after downloading if necessary.

Create the AWS key in IAM and give only the read permission of S3.

The contents of $ godesktop-watch.txt are as follows.

assets/tag/index.tag
assets/tag/tagcommon.js
godesktopwin.exe

Please download mike_launcher.exe or mike_launcher from the following, change the name of your application and use it.

https://drive.google.com/open?id=1tIh_Ye-6uCAvrXBI7OWG_L7LFq_2ukKs

Recommended Posts

Easy program installer and automatic program updater that can be used in any language
Easy padding of data that can be used in natural language processing
Functions that can be used in for statements
I wrote a tri-tree that can be used for high-speed dictionary implementation in D language and Python.
Basic algorithms that can be used in competition pros
ANTs image registration that can be used in 5 minutes
Goroutine (parallel control) that can be used in the field
Goroutine that can be used in the field (errgroup.Group edition)
Scripts that can be used when using bottle in Python
[Django] Field names, user registration, and login methods that can be used in the User model
A timer (ticker) that can be used in the field (can be used anywhere)
Python standard input summary that can be used in competition pro
Understand the probabilities and statistics that can be used for progress management with a python program
Maximum number of function parameters that can be defined in each language
[2015.02.22] Youtube-dl has been updated and can no longer be used in previous versions.
A personal memo of Pandas related operations that can be used in practice
I made a familiar function that can be used in statistics with Python
File types that can be used with Go
Building Sphinx that can be written in Markdown
Overview and useful features of scikit-learn that can also be used for deep learning
Introduction of automatic image collection package "icrawler" (0.6.3) that can be used during machine learning
plotly trace and layout templates that are likely to be used in scatter plots
Geographic information visualization of R and Python that can be expressed in Power BI
Set up an FTP server that can be created and destroyed immediately (in Python)
Morphological analysis and tfidf (with test code) that can be done in about 1 minute
Japanese can be used with Python in Docker environment
Simple statistics that can be used to analyze the effect of measures on EC sites and codes that can be used in jupyter notebook
Python knowledge notes that can be used with AtCoder
Can be used in competition pros! Python standard library
[Django] About users that can be used on template
Install Mecab and CaboCha on ubuntu16.04LTS so that it can be used from python3 series
[Python3] Code that can be used when you want to resize images in folder units
[Python] A program to find the number of apples and oranges that can be harvested
Text analysis that can be done in 5 minutes [Word Cloud]
Evaluation index that can be specified in GridSearchCV of sklearn
I bought and analyzed the year-end jumbo lottery with Python that can be executed in Colaboratory
[For beginners] Baseball statistics and PyData that can be remembered in 33 minutes and 4 seconds ~ With Dai-Kang Yang