#163 closed enhancement (fixed)
Windows installer build process needs to check correct NSIS plugins are used
Reported by: | Brian Smith | Owned by: | Brian Smith |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Installer | Version: | 1.1.1 |
Severity: | normal | Keywords: | Windows NSIS plugins |
Cc: |
Description
Although the Windows installer for POPFile 1.1.2 RC1 was able to shut down an existing copy of POPFile the installer for RC2 went into a loop until the user manually shut down POPFile.
There were no changes to the relevant NSIS code between RC1 and RC2; the problem was that RC2 was built using several out-of-date NSIS plugins. Simply upgrading these plugins and rebuilding the installer (as RC2a) solved the problem.
The build process needs to include a mechanism to detect this sort of problem at build time. The installer already has some checks on the ActivePerl version so something along similar lines for the NSIS plugins should be relatively straightforward.
Perhaps a simple list of the extra plugins and their MD5 sums could be used as an "include" file which was used to check the plugins at compile time? This would also make it easier to document the identifying details of these extra plugins as most (all?) of them do not include any VersionInfo.
Change History (4)
comment:1 by , 12 years ago
Status: | new → assigned |
---|
comment:2 by , 12 years ago
comment:3 by , 12 years ago
Screenshot showing proposed error message layout:
!error: *** Fatal Error *** The following 2 NSIS plugins are missing: md5dll nsUnzip NSIS is using incorrect versions of the following 12 plugins: AccessControl DumpLog dumpstate getsize GetVersion inetc LockedList MoreInfo ShellLink SimpleSC UAC untgz !include: error in script: ".\plugin-status.nsh" on line 3 Error in script "./plugin-vcheck-demo-4.nsi" on line 82 -- aborting creation process
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
changeset:3801 introduces compile-time checks on the extra NSIS plugins used by the Windows installer and other NSIS-based programs. Since most (all?) NSIS plugins do not include any version information, MD5 checksums are used.
This checksum file should make it easier to record details of all of the extra plugins used by POPFile (up until now the information on the plugins has been spread amongst the various NSIS script files and has therefore been difficult to maintain).
Only need to consider the DLLs for now, but it is possible that one or more *.nsh files may also need to be checked in the future. The
VerifyMeCabInstall
function ingetparser.nsh
provides a good starting point for this enhancement