Unattended install of .msi (msiexec.exe /qn /i ) hangs if user not logged on - GMetrixSMS 4.1.2.x
GMetrixSMS 4.1.2.x unattended install
I’m running into an install issue that I have not encountered with any other .MSI setup; Installation hangs when trying to deploy the software unattended.For example, if I log in and run ‘msiexec.exe /qn /I <file>’, the installation runs fine.
However, If I deploy from Altiris, and I am not logged in, the installation just hangs. If I give msiexec a logfile parameter, no log file is written. If I deploy and I am logged in, installation succeeds.
To successfully push this software, I must be logged into the computer with the same account that I am running the Altiris job as. I’m using the same technique that I have used with hundreds of other application installs. Only this one is having this issue.
Any Ideas on how what might be causing this?
Answers (4)
After the /qn try adding the ALLUSERS=1 flag to your command
It may also require a transform file (.mst) created from using either ORCA or Instedit
example:
start /wait msiexec /qn /i filename.msi TRANSFORMS=filename.mst
I suspect the problem is the Custom Action named 'LUACA_0001'. Using InstEdit, create a transform (MST) with this CA conditioned-out (I typically use '0=1' for that) and alter your command appropriately so that the transform gets applied:
msiexec.exe /i "%~DP0[name_of_MSI]" TRANSFORMS="%~DP0[name_of_MST]" /qn /l*v %SystemRoot%\TEMP\[name_of_log file]
Bypass Altiris for now by using PSExec. See how that works.
Comments:
-
Found another post on making the transform; I made the transform and tried it; Running the Altiris job as an admin account, and logged into the target machine with a non-admin account. Msiexec.exe has triggered an 'Interactive Service Detection' of course I cannot view the message... - amsailer 9 years ago
Run the command directly on a workstation (you have VMs you can test with, right?). Use the logging option and, as soon as you see the pop-up message, open the log in a decent text editor (i.e. anything that's not Notepad...) You'll see what action is currently executing.
Comments:
-
I disabled the "Interactive Services Detection" service, and now I'm getting a log file generated up until the point where msiexec hangs on the install. Here's the last portion of that log file:
<SNIP>
MSI (s) (04:F8) [14:28:31:758]: Note: 1: 2205 2: 3: MsiAssembly
MSI (s) (04:F8) [14:28:31:758]: Note: 1: 2228 2: 3: MsiAssembly 4: SELECT `MsiAssembly`.`Attributes`, `MsiAssembly`.`File_Application`, `MsiAssembly`.`File_Manifest`, `Component`.`KeyPath` FROM `MsiAssembly`, `Component` WHERE `MsiAssembly`.`Component_` = `Component`.`Component` AND `MsiAssembly`.`Component_` = ?
Action start 14:28:31: CostFinalize.
MSI (s) (04:F8) [14:28:31:779]: Doing action: LUACA_0001
Action ended 14:28:31: CostFinalize. Return value 1.
MSI (s) (04:F8) [14:28:31:779]: PROPERTY CHANGE: Adding RUNLUAFILE property. Its value is 'GmxDeleteFolder.lua'.
Action start 14:28:31: LUACA_0001.
MSI (s) (04:F8) [14:28:31:779]: Doing action: UNINSTALLAPPLICATION
Action ended 14:28:31: LUACA_0001. Return value 1.
<INSTALL HANGS HERE>
Here's the relevant portion of a log file from a successful manual install:
<SNIP>
MSI (s) (A8:28) [14:26:49:663]: Note: 1: 2205 2: 3: MsiAssembly
MSI (s) (A8:28) [14:26:49:663]: Note: 1: 2228 2: 3: MsiAssembly 4: SELECT `MsiAssembly`.`Attributes`, `MsiAssembly`.`File_Application`, `MsiAssembly`.`File_Manifest`, `Component`.`KeyPath` FROM `MsiAssembly`, `Component` WHERE `MsiAssembly`.`Component_` = `Component`.`Component` AND `MsiAssembly`.`Component_` = ?
Action start 14:26:49: CostFinalize.
MSI (s) (A8:28) [14:26:49:686]: Doing action: LUACA_0001
Action ended 14:26:49: CostFinalize. Return value 1.
MSI (s) (A8:28) [14:26:49:686]: PROPERTY CHANGE: Adding RUNLUAFILE property. Its value is 'GmxDeleteFolder.lua'.
Action start 14:26:49: LUACA_0001.
MSI (s) (A8:28) [14:26:49:686]: Doing action: UNINSTALLAPPLICATION
Action ended 14:26:49: LUACA_0001. Return value 1.
MSI (s) (A8:38) [14:26:49:711]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIB882.tmp, Entrypoint: RunLuaScript
MSI (s) (A8:84) [14:26:49:711]: Generating random cookie.
MSI (s) (A8:84) [14:26:49:713]: Created Custom Action Server with PID 6028 (0x178C).
MSI (s) (A8:3C) [14:26:49:851]: Running as a service.
MSI (s) (A8:3C) [14:26:49:852]: Hello, I'm your 32bit Impersonated custom action server.
Action start 14:26:49: UNINSTALLAPPLICATION.
MSI (s) (A8:28) [14:26:49:883]: Doing action: InstallValidate
Action ended 14:26:49: UNINSTALLAPPLICATION. Return value 1.
Action start 14:26:49: InstallValidate.
MSI (s) (A8:28) [14:26:49:884]: PROPERTY CHANGE: Deleting MsiRestartManagerSessionKey property. Its current value is 'a3ecdb6cf7a29749bb378815d8b2d7af'.
MSI (s) (A8:28) [14:26:49:884]: Feature: CoreFiles; Installed: Absent; Request: Local; Action: Local
MSI (s) (A8:28) [14:26:49:884]: Component: RegValAdd_0001; Installed: Absent; Request: Local; Action: Local
<SNIP> - amsailer 9 years ago
Comments:
-
Success!
Two things of note; I may have not created my transform correctly the first time. Also, I had to modify two items under 'InstallExecuteSequence' - 'LUACA_001' set to '0=1' and 'UNINSTALLAPPLICATION' set to '0=1'
These were task sequence 1001 and 1002, respectively.
Thanks for the help! - amsailer 9 years ago