ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

Rethink the client installer #1994

Closed mattclarke closed 1 week ago

mattclarke commented 7 years ago

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.

FreddieAkeroyd commented 7 years ago

CMake uses http://nsis.sourceforge.net/Main_Page

mattclarke commented 7 years ago

Yes, that looks like a good choice

ChrisM-S commented 7 years ago

Thought I'd better get this into the thoughtstream somewhere

Some basic requirements for an installer to play well with SCCM (and MDT)

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):

Some example things which work with MDT - which gives an idea of how awkward many different interpretations can be - and how long I have had to struggle to get these automated.

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
John-Holt-Tessella commented 7 years ago

Possibly using WIX or HEAT to create an MSI kit.

FreddieAkeroyd commented 7 years ago

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.

ChrisM-S commented 7 years ago

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.

  1. 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.

  2. The MSI for the ibex_client install is fine too (same qualifiers etc.)

notes:

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.

Things needed to be perfect:

KathrynBaker commented 1 week ago

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.