I'm having some problems using Tivoli to deply MSIs that have a custom action containing a vbs script.

Running the msi manually will execute the vbs perfectly, but deployment through Tivoli seems to bypass it completely.

As an example, I have an msi that installs an IE certificate. The msi copies the relevant files, then runs the vbs script shown below as a custom action. Running the msi manually executes the script and installs the certificate, but deploying via Tivoli just seems to copy the files without executing the script.

option Explicit

Dim strRun, oShell, certmgr, cert

set oShell = CreateObject("WScript.Shell")
certmgr = "C:\Windows\System32\certmgr.exe"
cert = "C:\Windows\System32\hrmsprod.cer"

strRun = certmgr & " -add " & cert & " -s AddressBook"

oShell.run strRun


Tivoli reports the installation as successful, as does the Windows event log.

Has anyone come across something like this before? Any help would be gratefully appreciated.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
As ever, enable Windows installer logging on the target workstation, then deploy. You'll end up with a .LOG whose name is prefixed with 'MSI' and will be located in C:\WINDOWS\TEMP:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
"Debug"=dword:00000007
"Logging"="voicewarmup"
Answered 07/30/2007 by: VBScab
Red Belt

Please log in to comment
0
As Tivoli is deploying through its own service make sure the CA is sequenced in InstallExecuteSequence.
Answered 07/30/2007 by: AngelD
Red Belt

Please log in to comment
0
VBScab: Apologies, should have mentioned that logging was enabled. The logs from both types of installation (Tivoli and Manual) are identical, other than the command line entries.

The Tivoli install command line is:
******* CommandLine: ALLUSERS=1 CURRENTDIRECTORY="C:\Program Files\Tivoli\lcf\dat\1" CLIENTUILEVEL=3 CLIENTPROCESSID=816

whilst the Manual install shows:
******* CommandLine: CURRENTDIRECTORY="C:\" CLIENTUILEVEL=2 CLIENTPROCESSID=5328

AngelID: The CA is sequenced as 6550.
Answered 07/30/2007 by: jimgillett
Yellow Belt

Please log in to comment
0
Jim, the command line is irrelevant to the seeming non-execution of your script. Search further and see if the action is executed anywhere. FYI, CLIENTUILEVEL is the property which is normally mapped from the command-line switch '/Qxy'
Answered 07/30/2007 by: VBScab
Red Belt

Please log in to comment
0
Both logs contain

Action ended <time>: Install_Cert. Return value 1.
Answered 07/30/2007 by: jimgillett
Yellow Belt

Please log in to comment
0
maybe the cert is installed for the installing ID (tivoli), & as such u will need to either use active setup to get it going for the logged on user (vs. the installing account).
Answered 07/30/2007 by: kiptek
Second Degree Green Belt

Please log in to comment
0
just expanding on Kipteks comment.

some certs require registration for each user. hence his comment on active setup
Answered 07/30/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
ORIGINAL: jimgillett

Both logs contain

Action ended <time>: Install_Cert. Return value 1.

That shows that the EXE ran and returned a 'success' return value so, as far as the CA is concerned, it ran successfully.
Answered 07/31/2007 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity