Closed mattclarke closed 1 week ago
CMake uses http://nsis.sourceforge.net/Main_Page
Yes, that looks like a good choice
Thought I'd better get this into the thoughtstream somewhere
This will allow automated management of client upgrades/patches on users systems (as well as making my one way automated builds easier). To work with SCCM, playing nicely with MDT is really sufficient. This, can work with a well written .exe installer (like NSIS) or an MSI install (WIX) if well written also. There is also INNO - if you like Turbo Pascal!
Some basic options which are needed (8 out of 8 is well written):
[ ] non-interactive (unattended) installation for automation with logging to check outcome (e.g. /unattend, /q, /log)
[ ] Switch to allow logging in this mode ( e.g. see msiexec /l*vx c:\temp\logfile.log)
[ ] Switch to prevent a reboot in this mode (important for MDT e.g. msiexec REBOOT=ReallySuppress)
[ ] Choice of progress GUI (without control for debugging) no GUI (see msiexec UILevel=67)
[ ] Some way of passing in some other parameters/settings (ideally not needing another file)
[ ] Clean uninstall (probably with option of leaving user settings) which would be sufficient to allow installation of an earlier version safely, or could be used for cleanup by the newer installer before an upgrade install.
[ ] Install for single user or all users on a machine need admin for all users possibly (see msiexec ALLUSERS=2)
[ ] Repair or check installation?
The good...
msiexec.exe /qb- /l*vx %LogPath%\Java.log REBOOT=ReallySuppress UILevel=67 ALLUSERS=2 /I jre1.8.0_11164.msi
msiexec.exe /qb- /l*vx %LogPath%\7-Zip.log REBOOT=ReallySuppress UILevel=67 ALLUSERS=2 /i 7z1600-x64.msi
Git-2.8.2-64-bit.exe /VERYSILENT /SUPPRESSMSGBOXES /CLOSEAPPLICATIONS /LOG="%LogPath%\Git.log" /NORESTART /LOADINF="settings.inf"
The bad... and the ugly!
msiexec.exe /qb- /l*vx %LogPath%\MySQL.log REBOOT=ReallySuppress UILevel=67 ALLUSERS=2 CONSOLEARGS="install server;5.7.12;x64:*:type=config;openfirewall=true;generallog=true;binlog=true;datadir=""C:\Instrument\var\mysql"";serverid=1;enable_tcpip=true;port=3306;rootpasswd=isis@instdb99:type=user;username=root;password=isis@instdb99;role=DBManager -silent" /I mysql-installer-community-5.7.12.0.msi
"\\nilicence\installations\NI Developer Suite 2016 DS1 (includes LabVIEW 2015 SP1)\_Src\2016Q1SPB\setup.exe" /applyspecfile "%DeployRoot%\Applications\NI LabVIEW 2015\specfile" /r:n /acceptlicenses yes /log %LogPath%\LabVIEW.log /results %LogPath%\LabVIEWresults.txt /disablenotificationcheck /q
Possibly using WIX or HEAT to create an MSI kit.
There are client and server MSI installers at \olympic\babylon5\Scratch\Freddie\ibex_installers - the server one is split over cabs as it was a bit big! @ChrisM-S how do those look? The server will install to a slightly odd location (build rather than epics) - i need to change how we publish the kit i build from.
It took me a little while to get the tests done (as I had to build the clone with the recent patched oracle too). The good news is that.
The MSI for the ibex_server install runs perfectly with the qualifiers as specified below as used in MDT
msiexec.exe /qb- /l*vx %LogPath%\ibex_server3.1.1.log REBOOT=ReallySuppress UILevel=67 ALLUSERS=2 /i ibex_server.msi
. I haven't tried out the effect of single user/vs all users install or anything like that and I have admin privs as MDT on the system.
The MSI for the ibex_client install is fine too (same qualifiers etc.)
1) The %LogPath% is converted in MDT to a full rooted pathname to an existing folder but for testing, doing md c:\logs & set LogPath=c:\logs first will suffice. 2) The install by MDT is run in the same folder as the .msi (I import a copy off the network) but they appear to work when installed from the network too.
I don't think our client installers behave in the same way as when this ticket was created, and the way of creating and using such things is now different. Closing.
The current installer is broken because it doesn't handle WAV and other media files correctly. Python seems to have some WAV files in various modules
The main cause seems to be the unmaintained third-party 7-zip modules used to build the executable.
Even if we get the current system working we should look for alternatives to insulate against the unmaintained modules.
A zip file with a README and a batch script seems like a simple reliable alternative to me.