(imported topic written by mcalvare91)
I’ve created a fixlet that, if a system requires it, will install an Office 2003 Post SP2 hotfix OLKINTLff.msp and the office2007-kb936864-fullfile-x86-en-us.exe. A client with office 2003 sp2 AND the Office 2007 compatibility pack is the perfect candidate for this scenario. Sorry for the long post, but I just want to be sure I give the info necessary.
Scenario #1:
Office 2003 SP2 system. The fixlet runs and installs the OLKINTLff.msp hotfix 100% of the time, no issues.
Scenario #2:
Office 2003 SP2 system with the Office 2007 Compatibility pack installed. I get intermittent results on this on the same system. Sometimes the OLKINTLff.msp will run and sometimes it won’t. The office2007-kb936864-fullfile-x86-en-us.exe runs first if it finds a relevant system (in this case has the Office 2007 CP installed) and then I run the Office 2003 Post SP2 hotfix (OLKINTLff.msp).
here’s the code:
//Office 2K3 Compatibility Pack (If Needed)
if {(exists key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall%7B90120000-0020-0409-0000-0000000FF1CE%7D” whose (exists value “DisplayName” whose (it as string as lowercase = “compatibility pack for the 2007 office system”) of it ) of registry)}
wait __Download\office2007-kb936864-fullfile-x86-en-us.exe /passive /norestart
endif
//Office 2K7 Hotfix (If Needed)
If {exists (folder (value “ProgramFilesDir” of key “HKLM\Software\Microsoft\Windows\CurrentVersion” of registry as string & “\Microsoft Office\Office12”)) and exists file “emsmdb32.dll” whose (version of it as string < ") of (folder (value “ProgramFilesDir” of key “HKLM\Software\Microsoft\Windows\CurrentVersion” of registry as string & “\Microsoft Office\Office12”))}
wait __Download\office2007-kb936864-fullfile-x86-en-us.exe /passive /norestart
Endif
//Office 2K3 HotFix (If Needed)
if {exists (folder (value “CommonFilesDir” of key “HKLM\Software\Microsoft\Windows\CurrentVersion” of registry as string & “\SYSTEM\MSMAPI\1033”)) and exists file “emsmdb32.dll” whose (version of it as string < “11.0.8025.0”) of (folder (value “CommonFilesDir” of key “HKLM\Software\Microsoft\Windows\CurrentVersion” of registry as string & “\SYSTEM\MSMAPI\1033”))}
wait “{pathname of system folder & “\msiexec.exe”}” /p “{pathname of parent folder of client folder of current site as string & “\actionsite__Download\OLKINTLff.msp”}” REBOOT=ReallySuppress /passive
endif
I’m wondering a couple of things:
#1. Because the .exe spawns child processes that run could it be that the Office 2003 hotfix is being launched while msiexec is still running from the previous hotfix causing this one to not run? And, because it’s intermittent, does it catch it sometimes and not others?
#2. Could a recommendation be to insert a pause in the code between the hotfixes, say a minute or so?
#3. If #1 is true, there is a way for me to watch msiexec as a running process, so how can I loop to do nothing while the process is still running and then when the process stops, to continue?
OR…am I way off and you guys know why I’m seeing this issue?
thanks