02/03/2010 4013 views
Hi Everyone ,
I am packagin an SQL Express2005 application . Got vendor multiple msi's wrapped in a exe.
Created a vbscript

CommandToExecute = Chr(34) & strPath & "Executable file" & Chr(34) & " -q /norebootchk /qn reboot=ReallySuppress addlocal=all instancename=SQLEXPRESS SQLAUTOSTART=1"
WriteToLog "Running the command " & CommandToExecute
RunEXE = ObjShell.Run(CommandToExecute,0,True)
If Err.Number = 0 Then
WriteToLog "successfully executed"
WriteToLog "Failed" & CommandToExecute
End If

The package works fine in XP environment but i am facing issues in windows 7 environment stating
"Either WMI or Environment is broken on this machine". Could anyone help me out what could be the exact cause for this error and how will be able to resolve it ...

I tried couple of steps including security update from microsoft for fixing up WMI KB933061

Registry modification for WMI thresholds
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Low Threshold On Events (B)" to 35000000 (default is 10000000)
”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\High Threshold On Events (B)" to 70000000 (default is 20000000)

0 Comments   [ + ] Show comments


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

All Answers


Not sure why it's not working in Windows 7, but I noticed you've got some public properties on the executable command line that won't be being passed through as they need to be capitalised.

reboot=ReallySuppress addlocal=all

Should be: REBOOT=ReallySuppress ADDLOCAL=all

Also a lot of installers take a /v to pass variables to the msiexec command line - are you sure yours are getting through?

Try logging the installation (/l*v <path to log file>) to ensure that your command line properties are being used and to see if it throws any light on your issue installing on Windows 7.

Hope this helps,

Answered 02/03/2010 by: dunnpy
Red Belt

a lot of installers take a /v to pass variables to the msiexec command lineIt sounds to me like the EXE is a home-grown thing, in which case, has it been coded to take arguments?

Anyway, if you're using a VBS, why bother with the EXE getting in the way? Just execute the MSIs and MSTs individually in the script. That way, you can specify a log file for each MSI/MST, as well as the public properties you need. Talking of MSTs, from what I recall of the SQL Server Express install, I don't know how you expect to get the thing to run from start to finish without at least one MST. I think it's SQLRUN.MSI which requires it for a silent install. Without it, the user will be prompted for input at some point.
Answered 02/03/2010 by: VBScab
Red Belt