# Windows installer failing with error 1603

**URL:** <https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703>\
**Category:** Ansible Project\
**Tags:** windows\
**Created:** [June 8, 2016, 7:57pm UTC](https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703 "2016-06-08T19:57:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Justin\_Dugan](https://avatars.discourse-cdn.com/v4/letter/j/9de053/32.png) [@Justin\_Dugan](https://forum.ansible.com/u/Justin_Dugan)\
**Post date:** [June 8, 2016, 7:57pm UTC](https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703/1 "2016-06-08T19:57:50Z")

</div>

I am trying to install software on some windows machines using ansible. I have tried raw and win\_package to do this. Both of them result in a 1603 error from windows. The same command run fine when logged into the machine using RDP using the same user account.

`

- name: install RDE  
raw: “c:\Temp\RDEInstall.exe /passive SILENT\_INSTALL=true’”  
register: raw\_output
- debug: var=raw\_output.stdout
- debug: var=raw\_output.stderr

`

This produces the following output:

`

TASK [RDE : install RDE] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [installtest]

TASK [RDE : debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [installtest] =\> {  
“raw\_output.stdout”: “”  
}

TASK [RDE : debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [installtest] =\> {  
“raw\_output.stderr”: “”  
}

`

The Windows application log shows a return code of 1603 for event 1033 for this install. As stated before, if the raw command is executed on the machine (e.g. powershell window) via RDP, it installs fine. This leads me to believe the installer is missing access to something when it’s executed via ansible that it has when executed on the machine.

Any help would be appreciated.

Thanks!

---

<div class="post-metadata">

**Author:** ![j.r.hawkesworth](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@j.r.hawkesworth](https://forum.ansible.com/u/j.r.hawkesworth)\
**Post date:** [June 9, 2016, 9:48am UTC](https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703/2 "2016-06-09T09:48:31Z")

</div>

1603 is unfortunately not a lot of help. It seems to mean ‘something went wrong’ but doesn’t detail why.

Most msi type installers can write a log of what is going on I suggest you try running it with whatever command line options are available to get it to generate a log and look through that (probably from the bottom up - there’s often a lot of noise in msi logs).

Annoyingly a lot of installers still expect a GUI unless you explicitly tell them not to use the GUI.

---

<div class="post-metadata">

**Author:** ![James\_Hong](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@James\_Hong](https://forum.ansible.com/u/James_Hong)\
**Post date:** [June 9, 2016, 10:03am UTC](https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703/3 "2016-06-09T10:03:28Z")

</div>

ansible uses winrm and you dont get full permission in the remote session.  
try “invoke-command” with explicit credentials

eg

```auto
$Username = 'admin'

```

```auto
$Password = 'password'

```

```auto
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass

```

```auto
Invoke-command –computername . -credential $cred –scriptblock {rdsinstall.exe}

```

---

<div class="post-metadata">

**Author:** ![Justin\_Dugan](https://avatars.discourse-cdn.com/v4/letter/j/9de053/32.png) [@Justin\_Dugan](https://forum.ansible.com/u/Justin_Dugan)\
**Post date:** [June 9, 2016, 1:42pm UTC](https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703/4 "2016-06-09T13:42:30Z")

</div>

I looked at the log generated by the installer; however, it doesn’t help me at all. Maybe it will provide some incite for you? Here are the entries from the failure:

`

MSI (s) (DC:58) [14:37:35:944]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI1FB5.tmp, Entrypoint: InstallExecuteSeq  
Action start 14:37:35: InstallExecuteSeq.  
SFXCA: Extracting custom action to temporary directory: C:\Windows\Installer\MSI1FB5.tmp-  
SFXCA: Binding to CLR version v4.0.30319  
Calling custom action CustomActions!CompanyNameWix.CustomActions.InstallExecuteSeq  
CustomAction InstallExecuteSeq returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)  
Action ended 14:37:36: InstallExecuteSeq. Return value 3.  
Action ended 14:37:36: INSTALL. Return value 3.

… \*\*\* a bunch of properties listed \*\*\* …

MSI (s) (DC:FC) [14:37:36:911]: Note: 1: 1708  
MSI (s) (DC:FC) [14:37:36:911]: Note: 1: 2205 2: 3: Error  
MSI (s) (DC:FC) [14:37:36:911]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1708  
MSI (s) (DC:FC) [14:37:36:911]: Note: 1: 2205 2: 3: Error  
MSI (s) (DC:FC) [14:37:36:911]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709  
MSI (s) (DC:FC) [14:37:36:911]: Product: – Installation failed.

MSI (s) (DC:FC) [14:37:36:935]: Windows Installer installed the product. Product Name: . Product Version: 1.10.97. Product Language: 1033. Manufacturer: . Installation success or error status: 1603.

MSI (s) (DC:FC) [14:37:36:937]: Deferring clean up of packages/files, if any exist  
MSI (s) (DC:FC) [14:37:36:937]: MainEngineThread is returning 1603  
MSI (s) (DC:B0) [14:37:36:939]: RESTART MANAGER: Session closed.  
MSI (s) (DC:B0) [14:37:36:939]: No System Restore sequence number for this installation.  
=== Logging stopped: 6/8/2016 14:37:36 ===  
MSI (s) (DC:B0) [14:37:36:940]: User policy value ‘DisableRollback’ is 0  
MSI (s) (DC:B0) [14:37:36:940]: Machine policy value ‘DisableRollback’ is 0  
MSI (s) (DC:B0) [14:37:36:940]: Incrementing counter to disable shutdown. Counter after increment: 0  
MSI (s) (DC:B0) [14:37:36:940]: Note: 1: 1402 2: HKEY\_LOCAL\_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2  
MSI (s) (DC:B0) [14:37:36:940]: Note: 1: 1402 2: HKEY\_LOCAL\_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2  
MSI (s) (DC:B0) [14:37:36:941]: Decrementing counter to disable shutdown. If counter \>= 0, shutdown will be denied. Counter after decrement: -1  
MSI (s) (DC:B0) [14:37:36:941]: Restoring environment variables  
MSI (s) (DC:B0) [14:37:36:941]: Destroying RemoteAPI object.  
MSI (s) (DC:4C) [14:37:36:941]: Custom Action Manager thread ending.  
MSI (c) (14:EC) [14:37:36:942]: Decrementing counter to disable shutdown. If counter \>= 0, shutdown will be denied. Counter after decrement: -1  
MSI (c) (14:EC) [14:37:36:942]: MainEngineThread is returning 1603  
=== Verbose logging stopped: 6/8/2016 14:37:36 ===

`

I seem to recall when I set up the JBoss Operations Network agent to do the install, I had to check “Allow service to interact with the desktop” in the service properties of the agent to get it to work. This is because the installer still pops up windows even though it’s set to be an unattended install. Is there a general cli option to explicitly tell any installer not to use the GUI? Or is this something that has to be coded into the installer explicitly?

---

<div class="post-metadata">

**Author:** ![Trond\_Hindenes](https://avatars.discourse-cdn.com/v4/letter/t/96bed5/32.png) [@Trond\_Hindenes](https://forum.ansible.com/u/Trond_Hindenes)\
**Post date:** [June 9, 2016, 8:02pm UTC](https://forum.ansible.com/t/windows-installer-failing-with-error-1603/21703/5 "2016-06-09T20:02:21Z")

</div>

it fails on a custom action, you need to open the msi to see what it does. For example, if customaction is a script requireing access to $host or other interactive environment it’s gonna fail since you don’t have that. Not much we can do about that I’m afraid ☹
