OCS 2007 R2 Group Chat client - issues packaging and updating for deployment
Wow, MS need a good kicking for their OCS 2007 R2 Group Chat client install! Anyone else here tried deploying this software via ConfigMgr/GPO/etc? I can't find any threads here about it.
I am already successfully deploying the Group Chat Client *without* the hotfix via ConfigMgr by running ClientSetup.exe /U. However, I now want to deploy an updated version that includes the 977338 hotfix, released January 2010, via Configmgr 2007. The Hotfix is released as an MSP file.
The Group Chat client comes as a single downloadable ClientSetup.EXE. (aside: The file contains a pre-req: a Visual C++ 2008 Redistributable x86 version 9.0.21022. The C++ Redist in itself has some known issues with creating files in the root of C:\ - supposedly fixed in the C++ 2008 SP1 Redist, but it isn't! I don't see any threads on the issue here, but it's mentioned here). The program also requires that .NET Framework 3.5 is installed. Anyway, moving on...
You can use the run installer/grab extracted MSI from temp files trick to extract the relevant MSI file from ClientSetup.exe - run clientsetup.exe, allow it to run the C++ 2008 pre-req, and when the Group Chat installer proper starts, pull the temporary MgcClient.MSI file from the Administrator Profile %temp%\MgcSetup directory.
Here's where I get stuck. I tried to create an Admin Install Point from the extracted MgcClient.msi using msiexec /a MgcClient.msi, or msiexec /a MgcClient.msi TARGETDIR=C:\temp\GroupChatAIP. No go, I get an error 'The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2803.' From MSDN, this code is 'Dialog View did not find a record for the dialog'. I was hoping that supplying a targetdir would bypass the missing dialog error.
Anyone have any useful suggestions on how to proceed? And please forgive the rambling...
I am already successfully deploying the Group Chat Client *without* the hotfix via ConfigMgr by running ClientSetup.exe /U. However, I now want to deploy an updated version that includes the 977338 hotfix, released January 2010, via Configmgr 2007. The Hotfix is released as an MSP file.
The Group Chat client comes as a single downloadable ClientSetup.EXE. (aside: The file contains a pre-req: a Visual C++ 2008 Redistributable x86 version 9.0.21022. The C++ Redist in itself has some known issues with creating files in the root of C:\ - supposedly fixed in the C++ 2008 SP1 Redist, but it isn't! I don't see any threads on the issue here, but it's mentioned here). The program also requires that .NET Framework 3.5 is installed. Anyway, moving on...
You can use the run installer/grab extracted MSI from temp files trick to extract the relevant MSI file from ClientSetup.exe - run clientsetup.exe, allow it to run the C++ 2008 pre-req, and when the Group Chat installer proper starts, pull the temporary MgcClient.MSI file from the Administrator Profile %temp%\MgcSetup directory.
Here's where I get stuck. I tried to create an Admin Install Point from the extracted MgcClient.msi using msiexec /a MgcClient.msi, or msiexec /a MgcClient.msi TARGETDIR=C:\temp\GroupChatAIP. No go, I get an error 'The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2803.' From MSDN, this code is 'Dialog View did not find a record for the dialog'. I was hoping that supplying a targetdir would bypass the missing dialog error.
Anyone have any useful suggestions on how to proceed? And please forgive the rambling...
0 Comments
[ + ] Show comments
Answers (10)
Please log in to answer
Posted by:
anonymous_9363
14 years ago
Posted by:
timread
14 years ago
Thanks Ian - I was hoping not to have to delve into the MSI itself. But yes, the MSI does contain AdminExecuteSequence and AdminUISequence tables.
I understand that without an AIP I can't permanently apply the MSP to it and deploy the patched MSI - but I haven't tried applying the MSP at MSI runtime and achieving a patched install on the client that way. Mainly in case more patches are released, as I think you can't chain MSPs against a base MSI at runtime? Or am I mistaken there?
Any ideas? And thanks!
I understand that without an AIP I can't permanently apply the MSP to it and deploy the patched MSI - but I haven't tried applying the MSP at MSI runtime and achieving a patched install on the client that way. Mainly in case more patches are released, as I think you can't chain MSPs against a base MSI at runtime? Or am I mistaken there?
Any ideas? And thanks!
Posted by:
anonymous_9363
14 years ago
Rats! OK, if the error is indeed a missing dialog record, the next stage is to validate the MSI. That should identify any missing dialogs. Failing that, you could try stepping through the install with your authoring tool's debugger. When you encounter the error, you should be able to see which dialog is causing the problem.
Posted by:
timread
14 years ago
Posted by:
timread
14 years ago
I'm in uncharted waters now (for me!)
This is the output I get from the MSI Debugger under InstallShield 2009. But I've no idea what to do with this. Am I running the right tool? It seems to just be a text list.
Dialog_SetupFatalError (UILevel=5)
Dialog_SetupCancelled (UILevel=5)
Dialog_SetupSucceess (UILevel=5)
AppSearch
FindRelatedProducts
LaunchConditions
CA_SetProperty_INSTALLDIR (PATCH Or MSIPATCHREMOVE)
CostInitialize
FileCost
ResolveSource (Not Installed)
CostFinalize
Dialog_Installation_Welcome (((UILevel>2) AND (NOT Installed)))
Dialog_Patch_Welcome (((UILevel>2) AND Installed AND PATCH))
Dialog_Maintenance_Welcome (((UILevel>2) AND Installed AND (NOT PATCH)))
Dialog_Progress ((UILevel>2))
MigrateFeatureStates
ExecuteAction
(InstallExecuteSequence starts)
AppSearch
FindRelatedProducts
LaunchConditions
CA_SetProperty_INSTALLDIR (PATCH Or MSIPATCHREMOVE)
CostInitialize
FileCost
ResolveSource (Not Installed)
CostFinalize
MigrateFeatureStates
ShutdownClient ((UILevel>3))
InstallValidate
RemoveExistingProducts
InstallInitialize
RemoveShortcuts
RemoveRegistryValues
RemoveFiles
RemoveFolders
MsiUnpublishAssemblies
UnpublishFeatures
InstallExecute
ProcessComponents
CreateFolders
InstallFiles
WriteRegistryValues
CreateShortcuts
StartServices
CA_SetProperty_ARPINSTALLLOCATION (Not Installed Or PATCH Or MSIPATCHREMOVE)
RegisterUser
RegisterProduct
MsiPublishAssemblies
PublishFeatures
PublishProduct
InstallFinalize
(InstallExecuteSequence ends)
This is the output I get from the MSI Debugger under InstallShield 2009. But I've no idea what to do with this. Am I running the right tool? It seems to just be a text list.
Dialog_SetupFatalError (UILevel=5)
Dialog_SetupCancelled (UILevel=5)
Dialog_SetupSucceess (UILevel=5)
AppSearch
FindRelatedProducts
LaunchConditions
CA_SetProperty_INSTALLDIR (PATCH Or MSIPATCHREMOVE)
CostInitialize
FileCost
ResolveSource (Not Installed)
CostFinalize
Dialog_Installation_Welcome (((UILevel>2) AND (NOT Installed)))
Dialog_Patch_Welcome (((UILevel>2) AND Installed AND PATCH))
Dialog_Maintenance_Welcome (((UILevel>2) AND Installed AND (NOT PATCH)))
Dialog_Progress ((UILevel>2))
MigrateFeatureStates
ExecuteAction
(InstallExecuteSequence starts)
AppSearch
FindRelatedProducts
LaunchConditions
CA_SetProperty_INSTALLDIR (PATCH Or MSIPATCHREMOVE)
CostInitialize
FileCost
ResolveSource (Not Installed)
CostFinalize
MigrateFeatureStates
ShutdownClient ((UILevel>3))
InstallValidate
RemoveExistingProducts
InstallInitialize
RemoveShortcuts
RemoveRegistryValues
RemoveFiles
RemoveFolders
MsiUnpublishAssemblies
UnpublishFeatures
InstallExecute
ProcessComponents
CreateFolders
InstallFiles
WriteRegistryValues
CreateShortcuts
StartServices
CA_SetProperty_ARPINSTALLLOCATION (Not Installed Or PATCH Or MSIPATCHREMOVE)
RegisterUser
RegisterProduct
MsiPublishAssemblies
PublishFeatures
PublishProduct
InstallFinalize
(InstallExecuteSequence ends)
Posted by:
anonymous_9363
14 years ago
Unfortunately, the VM I had with ISAS installed in it is corrupt so I can't walk you through it but, from memory, you load up the MSI in AS then hit F5 to take you into the debugger. You can use the regular MS standard keys to control flow e.g. F9 to set breakpoints, F11 to step into the next, er, step and so on.
EDIT:
Mr Google, as ever, comes riding over the horizon to help us. See here for details.
EDIT:
Mr Google, as ever, comes riding over the horizon to help us. See here for details.
Posted by:
nheim
14 years ago
Hi Tim,
does the MSI install without the Exe-stub? If yes, then most likely, the authors just "forgot" to create the admin install dialogs.
Why not try not to use the dialogs during the admin install?
How about this command line: msiexec /a MgcClient.msi TARGETDIR=C:\temp\GroupChatAIP /qn
Regards, Nick
does the MSI install without the Exe-stub? If yes, then most likely, the authors just "forgot" to create the admin install dialogs.
Why not try not to use the dialogs during the admin install?
How about this command line: msiexec /a MgcClient.msi TARGETDIR=C:\temp\GroupChatAIP /qn
Regards, Nick
Posted by:
timread
14 years ago
As ever, thanks for the excellent advice guys! I shied away from getting into the debugger, but Nick's suggestion of suppressing the dialogs with /qn when creating the AIP worked - I hadn't thought of trying that. After creating the AIP this way, I was able to patch it with the MSP [:)]
Now I just need to work on creating a separate software distribution package for the C++ 2008 Redist prerequisite that the native ClientSetup.exe installs, but which is not included in the MSI...
Now I just need to work on creating a separate software distribution package for the C++ 2008 Redist prerequisite that the native ClientSetup.exe installs, but which is not included in the MSI...
Posted by:
anonymous_9363
14 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.