Friday, January 4, 2008

The MSI Utility explained pt.2

Now that SoftGrid client versions 4.1.2.21 and 4.2.1.21 are here I can continue my journey of installing a MSI based Microsoft Virtual Applications. Here's where we left off.

Preinstallation fun?
After performing several test installations of the SoftGrid client I noticed the MSIDEPLOYMENT = TRUE property mentioned in the MSI Utility Admin Guide which should be on the commandline when installing the SoftGrid client. I had already performed several installations and hadn't seen any issues. Still, I decided to follow the book and uninstall the client followed by reinstalling it with the MSIDEPLOYMENT=TRUE on the commandline, but not before I take a quick peak in the softgrid-wd-setup.msi and look for any CustomActions that use this property. None.
So I installed with the commandline [msiexec / i softgrid-wd-setup.msi MSIDEPLOYMENT = TRUE /l*v .\Clientinstall.log] to have a look in the log to see where this property is used. I could only find several (four to be precise) statements with the value MSIDEPLOYMENT, but they were all for assigning not for use of the property. I'm not sure what the setting is for.

Anyway what is actually very important that you set the following registry keys correct before installaing any Virtualized Applications through MSI installation:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Softricity \ SoftGrid Client \ CurrentVersion \ Configuration
RequireAuthorizationIfCached = 0
Otherwise you get the following error during MSI installation:
Error - SoftGrid is currently not authorized to run virtualized application that are installed locally. Contact your administrator to change this setting before installing this application.


HKEY_LOCAL_MACHINE \ SOFTWARE \ Softricity \ SoftGrid Client \ CurrentVersion \ Network
AllowDisconnectedOperation = 1
Online = 0
The above settings make the SoftGrid always operate in Disconnected mode(offline).

HKEY_LOCAL_MACHINE \ SOFTWARE \ Softricity \ SoftGrid Client \ CurrentVersion \ Network
DOTimeoutMinutes = ffffff
Important: Don´t set the value to the value that is indicated in the admin guide which is 8xf (FFFFFFFF), but to 6xf (FFFFFF). A value of 8xf will be reset by the SoftGrid client after a reboot or restart of the service to the original setting (HEX: 1fa40) which is 90 days.
The value ffffff ensures 31.9 years of offline use for the application :-)
This setting is actually a workaround for a known bug in the SoftGrid client and has nothing to do with MSI utility. The bug is that despite the setting LimitDisconnectedOperation is set to not enabled (zero) the SoftGrid client still activates the value in the DOTimeoutMinutes key.
You'll get an error No Such Host is known because the SoftGrid client wants to connect to a SoftGrid server which (if it's non-existent) failes.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Softricity \ SoftGrid Client \ CurrentVersion \ Permissions
ToggleOffineMode = 0
This is to ensure that a user doens´t enable the SoftGrid client back to online mode.

So how did the installation go?
After the preinstallation requirements the actual installation itself was ok. The MSI progress bar actually showed the progress of SoftGrid stuff like copying icons etc. including loading the the application.

After the installation the application nicely shows up on the desktop/startmenu en file extensions are registerd. All according to OSD values.

Starting the application causes an error message:
This application has failed to start because the application is incorrect configuration. Reinstalling the application may fix this problem. Error Code: xxxxxx-xxxxxx2C-800736B1

Some investigation in the eventviewer pointed to the absense of Microsoft .NET Framework on the test machine (oops my bad). After installing this software the application launched successfully! Cool.
Also uninstalling the application from add-remove programs actually deletes the application from the cache, removes the shortcuts, removes the file associations etc.

The UsrVol_sftfs_v1.pkg file gets preserved after uninstalling the application.

I'll continue testing and post my findings here!

1 comment:

WeirdG said...

Thanks for the excellent write up... it really shed some light on a few problems I was having.