myProgram Installer Project
I have a simple 32 bit program that needs to use MySQL database. It called "myProgram"
The program consists of two .exe files and a set of reference file (e.g. dll)
I install the program in my client's computer in a very manual (stupid) way.
1. Manually Install MySQL
2. Create a Database
3. Copy the program folder to C:\Program Files(x86)\
4. Manually create shortcut in Start Menu and Desktop
Let user able to install myProgram in a very easy way.
1. User can install myProgram easily by a User Friendly Interface.
2. After installation, user can COMPELETELY uninstall myProgram in Windows’s Control Panel
3. After uninstallation, user can reinstall myProgram as Flash Installation.
1. A single Installer File (.msi)
2. When users uninstall myProgram, all the program files, shortcut and MySQL database are removed.
3. If user cancel or error occur during installation, all installed file and program should be removed.
4. It is suggested to use NSIS to implement the installer. But, it’s not a must. Other open source tools are accepted.
The installer should at least include the following step.
1. Welcome Message
2. License Agreement
3. Select Installation Mode (Master / Slave)
i. Master Mode
Silent Install MySQL database (Install in the destination selected in Step 4)
ii. Slave Mode
myProgram will connect to remote MySQL database instead.
Therefore, user has to enter the IP Address of remote database.
The installer should able to test the connection (if failure, return to "Step 3. Select Installation Mode")
4. Select Install destination Path
(Default is the windows 32 bit program folder e.g. c:\Program Files (X86)\myProgram)
5. Install program
i. Copy all program file to the destination folder
ii. Create shortcut in Desktop and Start Menu (for all User)
a. Install MySQL, Set root's password, and change the default database port (For Master Installation Only)
b. execute a .sql file (For Master Installation Only)
Edit a .txt file that is a config file of myProgram
- Replace a string in the file (e.g.: “localhost” to the IP Address provided by users in Step 3)