I have some questions about the original setup.nsi and what you intended (I know it has been a while since you looked at it and quite a bit may have been "magically generated" by the EclipsePlug-in for the even more "magical" Modern UI):
Section -Main SEC0000 # ; .... some statements # SetOutPath $INSTDIR\uilocales.d # File /r ..\stage\uilocales.d\* # File /r ..\stage\uilocales.d\* # WriteRegStr HKLM "${REGKEY}\Components" Main 1 SectionEnd Section /o un.Main UNSEC0000 # ; .... some statements # RMDir /r /REBOOTOK $INSTDIR\uilocales.d # RMDir /r /REBOOTOK $INSTDIR\uilocales.d # DeleteRegValue HKLM "${BCS_REGKEY}\Components" Main SectionEnd Section -post SEC0001 SectionEnd uilocales is installed and deleted twice. Is that intended? I'm not clear what the intent of "Main" is, especially since there is an attribute of "Main" for several sections. Do you know what this does or does not accomplish, or was the use "Main" co-incidental? How about "-post"? (I'll put in a question to the nsis forum to also check.) What do you have in mind for "Components"? This install is "bare-bones" with no "starter-kit" of modules (such as WEB or KJV). If there was a resource such as KJV or WEB, how would that be handled? Your original script has a registry entry for "Path" which comes from $INSTDIR. My impression is that the preferred mechanism for this is something like: #!define PROJECT_FAMILY "CrossWire" #!define PROJECT_NAME "The SWORD Project" #!define BCS_REGKEY "SOFTWARE\${PROJECT_FAMILY}\${PROJECT_NAME}" #!define UNINSTALL_SUBHIVE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PROJECT_FAMILY} \${PROJECT_NAME}" ; Default installation dir (if not overridden by InstallDirRegKey) #InstallDir "$PROGRAMFILES\${PROJECT_FAMILY}\${PROJECT_NAME}" ; Registry key to check for directory (so if you install again, it will overwrite the old one automatically) #InstallDirRegKey HKLM "UNINSTALL_SUBHIVE" "InstallLocation" Section -post SEC0001 # ; .... some statements # WriteRegStr HKLM "${UNINSTALL_SUBHIVE}" InstallLocation $INSTDIR SectionEnd Also, what are your feelings about having a Desktop icon that can be double-clicked on to "launch"? That could be always created (easier for me), or an optional component (not difficult, but should probably have some discussion about components first for your preferences). Also, at least at first, I would prefer to leave off: !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup This controls the entries in the Start + Programs, and is initialized to ${PROJECT_NAME}. If the end-user changes this, then the combinations and permutations could get rather tricky ... a lot can go wrong, testing is harder, and uninstall is harder to get right, especially since I am far from experienced with the Modern-UI. I would advocate just fixing it (can't be changed) as "The SWORD Project" (or perhaps CrossWire\The SWORD Project). Your thoughts appreciated. ----- Original Message ----- From: "Troy A. Griffitts" <[EMAIL PROTECTED]> To: "SWORD Developers' Collaboration Forum" <sword-devel@crosswire.org> Sent: Saturday, October 08, 2005 2:40 PM Subject: Re: [sword-devel] BibleCS Installer > Hey Lynn, > If you'd like to help with this installer, I'd appreciate it. I'm not > interested in handling all possible install scenarios for this > installer. We have nearly ~5000 downloads of this software a month-- > about 7 an hour and I doubt many of these people will wish to share a > common set of sword modules between different SWORD software for > Windows. The ones that do can read the README and figure out how to > create /etc/sword.conf or SWORD_PATH. The import thing is that 7 people > an hour currently download a version of the software that is 2 years > behind, including an incomplete KJV module. Finishing this installer > should be a couple hours of work, from your experience, just finishing > what I've described. If you'd like to help. I'd welcome the help. > > Thanks for the comments. You've always been completely thorough when > considering a task :) > > > > What is your guidance as far as what to try to accomplish: > > * Ignore SWORD_PATH (if defined) and suggest > > C:\Program Files\CrossWire\The SWORD Project\ > > but accept changes to that and leave SWORD_PATH undefined (or the same > > as it was before if SWORD_PATH was already defined) > > The SWORD software doesn't change for the Windows build. It will deal > with SWORD_PATH, or even /etc/sword.conf files even on a Windows box. > > The Windows Installer currently does not do anything with these > settings, but merely places modules in the same directory as the EXE. > For now, I'd just like to switch the installer from InstallShield to the > NullSoft installer, and get a new package out the door. > > If you're worried about LcdBible not finding the same module set as > BibleCS, you can add customization to your hearts desire to LcdBible's > installer, and even update new options for the BibleCS installer in the > future, if you'd like. > > Just to requote my original assessment: > > >>Simply, I think all we still need to do is: > >> > >>Rename the install directory from 'The SWORD Project for Windows' to > >>'CrossWire/The SWORD Project' > > > > > > Ok. > > > > > >>Launch Readme.txt, and on close launch InstallManager.exe (yes, new > >>name-- since we pushed most of this functionality into the engine > > > > and > > > >>now have an installmgr.cpp in the engine, this was renamed to avoid > > > > mixups). > > > > Seems do-able. > > > > > >>Registry key so updates and reinstalls go to the same place. > > > > > > Ok. > > > > > >>Registry key that the current installer adds so that our windows > > > > module > > > >>installer can find the install directory. > > > > > > Would this be based on the SWORD_PATH environment variable, or the > > registry variables of BibleCS? What if they aren't the same? Which > > would have precedence? > > The current installer adds a registry key which the current > InstallShield MODULE INSTALLER keys off to know where to install > themselves. The task involves discovering what key this is and making > sure the new NullSoft BIBLECS installer still adds this same key, so as > not to disrupt the continued use of the current InstallShield Windows > MODULE installer-- for now. > > >>That should be it. > >> > >>I would really appreciate the help and have already appreciated the > >>comments. > > > Thanks for considering Lynn. I really would appreciate this help and > for someone to own this if you'd be willing. My desire for this > installer is to make things as simple as possible for the end user and > not cloud them with multiple options which 99.99% of them will not > understand. I'd be happy with an 'Advanced' button, but the standard > install should ask the same common basic questions of any other Windows > installer. That's about my only concern (and that it actually works). > So if you'd be interested, it would be a blessing a many people. Please > let me know. > > -Troy. > > > > > > > > > > >> > >>-Troy. > >> > >> > >>Lynn Allan wrote: > >> > >>>Troy, > >>> > >>>Would you like some assistance with the nsis installer for > > > > BibleCS? Or > > > >>>is it proceeding along nicely (or done)? > >>> > >>>I'm getting ready to update the LcdBible software so that it is > >>>sword-api compatible, along with a number of other improvements. > >>>Perhaps you could provide guidance on putting together an nsis > >>>installer for LcdBible that would be directly applicable to an > >>>installer for BibleCS? My impression is that both have similar > > > > issues > > > >>>with SWORD_PATH, the InstallManager, uninstall, and other > > > > concerns. > > > >>>The "lessons learned" from LcdBibleNsisSetup.exe could be > > > > incorporated > > > >>>into BibleCsNsisSetup.exe. > >>> > >>>----- Original Message ----- > >>>From: "Troy A. Griffitts" <[EMAIL PROTECTED]> > >>>To: "SWORD Developers' Collaboration Forum" > >>><sword-devel@crosswire.org> > >>>Sent: Thursday, September 22, 2005 1:28 PM > >>>Subject: Re: [sword-devel] BibleCS Installer > >>> > >>> > >>> > >>> > >>>>Lynn, > >>>>I've not looked at the installer since I sent the email. I would > >>> > >>>LOVE > >>> > >>> > >>>>for your help on this. I only used the eclipse wizard to get me > >>>>started. They also supply a highlighting code editor and popup > > > > hint > > > >>>>help for NSIS functions. > >>>> > >>>>Thanks for your input! > >>>> > >>>>-Troy. > >>>> > >>>> > >>>> > >>>>Lynn Allan wrote: > >>>> > >>>> > >>>>>Troy, > >>>>> > >>>>>I've used the NSIS installer a fair amount, although with "native > >>> > >>>1.x" > >>> > >>> > >>>>>scripting rather than with Eclipse. I was able to get setup.nsi > > > > to > > > >>>>>compile and run, and wanted to check if you have resolved your > >>>>>questions before looking closer. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>>There are a few things missing: > >>>>>> Launch Readme.txt and wait for close BEFORE launching > >>>>> > >>>>>InstallManager.exe > >>>>> > >>>>>NSIS has the .onInstSuccess standard routine that may help. You > >>> > >>>may > >>> > >>> > >>>>>want to invoke InstallManager.exe with this (below code also > >>>>>illustrates dealing with SWORD_PATH environment variable): > >>>>> > >>>>>Function .onInstSuccess > >>>>> ClearErrors > >>>>> ReadEnvStr $R0 SWORD_PATH > >>>>> MessageBox MB_OK "LcdBible ver ${VERSION_DISPLAY} > >>> > >>>(${DATE_DISPLAY}) > >>> > >>> > >>>>>\ > >>>>> $\r$\nMini Tutorial for new users: \ > >>>>> $\r$\n1. *********** LcdBible info goes here > >>> > >>>*******************. \ > >>> > >>> > >>>>> $\r$\nFeedback appreciated: LcdBible_at_yahoogroups.com \ > >>>>> $\r$\nSWORD_PATH should be set. Currently = $R0 \ > >>>>> $\r$\n \ > >>>>> $\r$\nLcdBible will start as soon as you click on the 'OK' > >>> > >>>button.\ > >>> > >>> > >>>>> $\r$\nEnjoy! LcdBible is 'freeware' (no charge)" > >>>>> Exec $INSTDIR\LcdBible.exe > >>>>>FunctionEnd > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>> Registry keys correct so Windows Module self-installers > >>>>> > >>>>>(website, > >>>>> > >>>>> > >>>>> > >>>>>>module download, windows) know where to unzip themselves. > >>>>>> Uninstaller successfully launching > >>> > >>>"$INSTDIR/InstallManager.exe > >>> > >>> > >>>>>>-uninstall" to uninstall all modules > >>>>> > >>>>> > >>>>>Are these still unresolved? I can perhaps help ... also, there is > >>> > >>>an > >>> > >>> > >>>>>extraordinarily active and helpful NSIS installer forum that I've > >>>>>found incredibly valuable. > >>>>>http://forums.winamp.com/forumdisplay.php?s=&forumid=65 > >>>>> > >>>>> > >>>>>_______________________________________________ > >>>>>sword-devel mailing list: sword-devel@crosswire.org > >>>>>http://www.crosswire.org/mailman/listinfo/sword-devel > >>>>>Instructions to unsubscribe/change your settings at above page > >>>> > >>>>_______________________________________________ > >>>>sword-devel mailing list: sword-devel@crosswire.org > >>>>http://www.crosswire.org/mailman/listinfo/sword-devel > >>>>Instructions to unsubscribe/change your settings at above page > >>>> > >>> > >>> > >>> > >>>_______________________________________________ > >>>sword-devel mailing list: sword-devel@crosswire.org > >>>http://www.crosswire.org/mailman/listinfo/sword-devel > >>>Instructions to unsubscribe/change your settings at above page > >> > >>_______________________________________________ > >>sword-devel mailing list: sword-devel@crosswire.org > >>http://www.crosswire.org/mailman/listinfo/sword-devel > >>Instructions to unsubscribe/change your settings at above page > >> > > > > > > > > _______________________________________________ > > sword-devel mailing list: sword-devel@crosswire.org > > http://www.crosswire.org/mailman/listinfo/sword-devel > > Instructions to unsubscribe/change your settings at above page > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page > _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page