From: Mark M. <mie...@gm...> - 2010-09-18 19:08:15
|
All, I've committed a rewritten NSIS script to trunk and 4.1.0. This script is what creates the Windows installation program, so essentially it is an updated installation program. I'm planning on using it for 4.1.0, so I'd like to explain the changes and start to get feed back now. There are 2 major changes. (Well really 3 major changes. The whole script has been rewritten so that it is much more readable and understandable. At least it is to me. <grin> But, users won't see that.) Major changes =========== 1.) There is a new 'type' of install, which I'm calling an 'upgrade' type of install. The upgrade installation is only active if there is a previous version of ooRexx installed. An upgrade removes only the files from the previous version and installs the files for the current version. It does not change any of the existing registry or environment settings. They stay exactly the same. Since the uninstaller is written at the time of installation, the upgrade install is only available if the version of the uninstaller is 4.1.0 or later. What this means in practice is, the first time you install a 4.1.0 ooRexx, the upgrade install will not be available because the previous installation wrote an uninstaller that does not understand the upgrade type. When you do an upgrade install you can not change any of the settings from the previous install. I.e., if you installed in C:\MyCrummyDirectory\ooRexx then the upgrade also installs in that directory. If you installed rxapi as a service in the previous install, then it remains installed as a service. Etc., etc.. 2.) The installation lets the user pick their own file associations, or not do any file associations at all. In addition you can create file associations for rexxhide and rexxpaws, if you want. For each executable the user can specify the extension, the ftype, and the editor for the edit context menu. The user can choose to create a file association or to not create a file association for each executable. There needs to be default values for the file associations and these are what I picked. Speak up if you have any other ideas. Extension ftype (File type) Editor =========================== .rex RexxScript C:\Windows\system32\NotePad.exe .rexg RexxHide C:\Wndows\system32\NotePad.exe .rexp RexxPaws C:\Wndows\system32\NotePad.exe If you can build from trunk or the 4.1.0 branch give it a try and let me know what you think. Minor changes =========== 1.) Rather than put up a message box about stopping rxapi, I made that a page. That way there is more room to explain why rxapi needs to be stopped. If the user elects to not stop rxapi, the installer quits. The reason for this is simple, there is no way on Windows to replace the old rxapi with the new rxapi if it is running. What I could do is use the delayed mechanism in Windows where the user has to reboot and the new rxapi is copied over before the system comes all the way back up. Since this process stops rxapi, it is no different than stopping rxapi during the installation, just more tedious. 2.) The message box popup with the question about uninstalling the previous version is turned into a page. This makes it easier to insist that the user uninstall the previous version and explain that if she chooses not to uninstall the previous version it is likely to cause problems and that we won't support that. It is made more difficult for the user to not uninstall a previous version, there is a second check box that has to be manually checked. 3.) During the uninstall, the user is given the option of uninstalling by simply deleting the installation directory or only deleting the files placed there by the installer using the log file. Using the log file is the default. On my 64-bit XP system, uninstalling by deleting the whole installation directory is about 10 times faster than using the install log. 4.) The installation user interface is meant to be more modern, meant to explain better to some one new to the install of ooRexx on Windows what they should do and why, and meant to allow some one used to installing a quicker uninstall / install cycle. I'm hoping to get good feedback on the user interface during the beta of 4.1.0, but again if you can build from source now and want to give feedback that'd be great. I've tested this heavily in the last two weeks, but as always some second eyes are sure to pick up things I don't see. In particular I haven't yet tested much as a regular user on Vista or Windows 7. -- Mark Miesfeld |