Installing MSI on windows 10

Hi guys,

I am trying to install MSI

msiexec.exe /i “Dataflow.Desktop.msi” /quiet

this from command line works fine and installs. When i put this into bigfix it says complete I get a pop up box from big fix saying restart but the software is never installed. I don’t understand it. any thoughts? We have lots of other MSI installing on our network fine.

Exactly what are you putting in to bigfix? It will be hard to guess until you post your actionscript.

There is no action script that i am aware of. I am in system lifecycle software distrubtion and i have added new task msiexec.exe /i “Dataflow.Desktop.msi” /quiet is the command. Where would the action script be for this?

So you created a new software package, uploaded the MSI, etc? If you’ve done this the resultant task would show up in Systems Lifecycle --> Software Distribution --> Software Distribution Tasks.

Yes That has appeared in there action script

// ---------------------------------------------EDITING INSTRUCTIONS---------------------------------------------------------------------
// When editing this task through the Manage Software Distribution Packages dashboard, you will have the option to preserve any custom edits you make to this action.
// If you select the option to preserve custom edits, only areas bound by the comment markers 'Preparation Marker', 'Command Marker' and 'Closing Marker' are updated.
// To ensure that all your custom Action Script changes can be preserved, only make changes to areas that are not bound by the comment markers.
// Removing the comment markers may result in the Action Script not updating correctly during the next edit.
// See KB Article swg21668807 (http://www-01.ibm.com/support/docview.wss?uid=swg21668807) for more information.
// --------------------------------------------------------------------------------------------------------------------------------------



//**Begin Preparation Marker
// Download all specified files
begin prefetch block
  add prefetch item name=3541C98E804B8749A37D848661BD8FD347336372 sha1=3541c98e804b8749a37d848661bd8fd347336372 size=12420096 url=SWDProtocol://127.0.0.1:52311/Uploads/3541C98E804B8749A37D848661BD8FD347336372/Dataflow.Desktop.msi.bfswd sha256=4c46fc468eb8f96d39797b51f66820da8859ca5c45c6e1602cd5248892ebf5c2
end prefetch block

// All SWD files will go into a folder in the clients __BESData folder. This folder gets cleared on every restart.
parameter "baseFolder" =  "__Download/"
// Move files into subfolders and unescape file names
move "__Download/3541C98E804B8749A37D848661BD8FD347336372" "{parameter "baseFolder"}Dataflow.Desktop.msi" 

// Log setup
parameter "mainSWDLogFolder" = "{parent folder of client folder of current site}/__Global/SWDDeployData"
folder create "{parameter "mainSWDLogFolder"}"
parameter "logFile" = "SWD_DeploymentResults.log"

//**End Preparation Marker
delete __createfile
parameter "logFolder" = "{parameter "mainSWDLogFolder"}"
// Run setup process
delete run.bat

// Use .bat to set working directory to packages root, for setup command.
createfile until _end_
@ECHO OFF
cd "{parameter "baseFolder"}"
rem // See comments at the beginning of this action for an explanation of the comment markers.
echo %DATE% %TIME% >> "{parameter "logFolder"}\{parameter "logFile"}"
echo Action ID: {id of active action} >> "{parameter "logFolder"}\{parameter "logFile"}"
rem //**Begin Command Marker
echo Command: msiexec.exe /i "Dataflow.Desktop.msi" /qn >> "{parameter "logFolder"}\{parameter "logFile"}"
set errorlevel=
msiexec.exe /i "Dataflow.Desktop.msi" /qn >> "{parameter "logFolder"}\{parameter "logFile"}" 2>&1
set SWDExitCode=%errorlevel%
rem //**End Command Marker

echo Return code: %SWDExitCode% >> "{parameter "logFolder"}\{parameter "logFile"}"
echo. >> "{parameter "logFolder"}\{parameter "logFile"}"
exit %SWDExitCode%
_end_

move __createfile run.bat
// You will not be able to stop or take action on an applicable BigFix Client until your installer completes.
// So ensure no user input is required.
// If your package absolutely must interact with the user, replace 'override wait' with 'override run' and 'wait' with 'run'.
override wait
hidden=true
completion=job
wait run.bat

//**Begin Closing Marker
// Get the return code of the previous action.
parameter "returnCode" = "{exit code of action}"


// Task will now exit.
exit {parameter "returnCode"}
//**End Closing Marker

There may be some useful information in the logs at C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\__Global\SWDDeployData

At first glance I wonder whether it is a 64-bit application failing to install via the 32-bit BigFix Client. You can override the behavior on the installer to switch to 64-bit mode by disabling ‘wow64 redirection’. Try modifying the generated script, and modify the lines just before the ‘end preparation marker’ to read

parameter "logFile" = "SWD_DeploymentResults.log"
//the following line is new:
action uses wow64 redirection false
//**End Preparation Marker

If that doesn’t correct it, it could be a problem with running as the SYSTEM account. We can test that next, using psexec from Microsoft ( https://www.microsoft.com/sysinternals ). We’d open a command prompt running under the SYSTEM account via

psexec -i -s cmd.exe

From that “SYSTEM” command prompt, try running the MSI package and see whether it succeeds, or gives an error message.

1 Like

Thank you Jason. With putting that line in it appears to be installing now, Great stuff.

2 Likes