We need a basic written specification for developing an MSI (Microsoft Installer) for our Java application.
This job is only for writing a text document. No development is required or should be done!
The specification will in turn used as the requirement for the next stage of our MSI project - posted as a separate job/project.
The document should convey in clear and simple language what exactly should be required of the final software package, based on the following list of needs, considerations, and unanswered questions:
- The deliverable should contain all necessary files, including a BAT-file which can be run from a standard Windows Command window to build the MSI.
- The actual build process should employ "javapackager" (of the latest version of Java 8), and bundle the Java Runtime together with one JAR-file.
- The BAT-file may take any number of arguments needed to properly configure the build.
- It would be good if information which doesn't change from build to build such as publisher and application name could be in a separate config-file, while i.e. path to JAR-file and version number were passed as parameters to the BAT-file. We would rather not have to dig around in XML-files.
- The deliverable may contain a simplest possible [url removed, login to view]
- Signing (with a commercial certificate) should be part of the build process.
- The installer should be compatible with Windows 7 and Windows 10.
- The installer should be downloadable/runnable from a web-page.
- The installer should be able to select between installing for a single user without privileges, and installing for the whole machine (with elevated privileges), testing/escalating rights as necessary.
- The installer should be able to be run in "headless"/"silent" mode (by administrators) - for network/remote installation.
- The installer should have correct facilities for uninstalling and/or upgrading previously installed versions.
- The installer should end with asking the user it the application should be started, if appropriate.
- The installer should register the application for the URN: "george".
- The installer should register the application for optimally handling one or more particular document formats, including "clj" (Clojure).
- Can the installer ensure that only one instance of the Java application is started per user? We would prefer that this be handled correctly on the operating system level (AppMutex?), rather than having to roll our on solution at the Java level.
- Our application (the bundled JAR-file) download additional files upon launch. Depending on whether the application has been installed on user-level or machine-level:
1. Where should the downloaded additional files be stored?
2. Will the application have the rights to install on machine-level when it is launched by a user without elevated rights? (Or am I thinking in Unix-terms in stead of Windows terms here?)
3. How will the application know where it should install the files.
There may be other considerations I am not aware of, but that should be answered. Please raise them.
Please do communicate with me as many times as required if something is unclear or missing, or if you think options should be discussed.
To separate you from the spammers, please write "I AM REAL" as the first line of your bid. We will delete all bids that do not start with this phrase, since most bidders never read the requirements. Thank you for being one who does.
4 freelancers are bidding on average kr175 for this job
Dear sir. I am very interested to your project. I have a good skill and experience in java programming. I can finish this project in perfect. Please contact me. Thanks. Stay tuned, I'm still working on this proposal.