Running MSIs with FOG
I was trying to work out today why some of my snapins weren’t working for FOG. One issue I came across was to do with an MSI file. Although it deploys, the following text from fog.log seems to indicate that the MSI isn’t a valid application.
04/11/2014 14:00 FOG::SnapinClient Snapin Found:
04/11/2014 14:00 FOG::SnapinClient ID: 2458
04/11/2014 14:00 FOG::SnapinClient RunWith:
04/11/2014 14:00 FOG::SnapinClient RunWithArgs:
04/11/2014 14:00 FOG::SnapinClient Name: PCCAL
04/11/2014 14:00 FOG::SnapinClient Created: 2014-11-04 13:14:10
04/11/2014 14:00 FOG::SnapinClient Args:
04/11/2014 14:00 FOG::SnapinClient Reboot: No
04/11/2014 14:00 FOG::SnapinClient Starting FOG Snapin Download
04/11/2014 14:00 FOG::SnapinClient Download complete.
04/11/2014 14:00 FOG::SnapinClient Starting FOG Snapin Installation.
04/11/2014 14:00 FOG::SnapinClient The specified executable is not a valid Win32 application.
04/11/2014 14:00 FOG::SnapinClient at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
Now, snapins have worked fine when using the steps linked to in this post, which use a self-extracting executable file to package the snapin. However, for MSI files, you seem to have to modify your snapin to do the following:
Snapin run with: msiexec (you don’t seem to need the full path to its location on your system)
Snapin run with arguements: /i (needed, otherwise things just hang)
Snapin arguments: /qn (or /quiet)
This runs msiexec as an installation (/i) with no UI (/qn, but /quiet seems to work just as well.). Finally, the MSI now works! So, self-extracting executables don’t need to be run with anything nor do any arguments need to be specified, but MSI installers do!
Fog Client settings change
Whilst testing snapins, I was finding the 5 minute delay a bit too much. Its actually 307 seconds, as specified in the config.ini file located in your FOG installation directory on each desktop (e.g. C:\Program Files (x86)\FOG\etc). Find the references to 307 and replace them with something else if you want the checkin time to be less – I changed it to 10 seconds so I could test things much faster. You can also expand the log file size – I changed it to 100KB but you can go much higher as, after that limit is reached, it will just be deleted anyway. Some guides online have suggested a .dll recompile for the relevant services – but it can just be changed in the config. Which is probably better. Safer/