2

We have an installer package authored with InstallShield 2009, targeting Windows Installer 3.1.

Recently, we started to notice that sometime, when installing on some Windows 2003 R2 x86 based hosts, the installation fails, and the installer log report a 1603 error code (which by the way, doesn't really help much, as it means ERROR_INSTALL_FAILURE, that is a very generic "A fatal error occurred during installation.").

As the installation is still working on some other hosts on that very same platform, after further investigation we found out it was happening on hosts where Sql Server 2008 R2 was already installed, which leaded us to find out the issue is really with Windows Installer 4.5.

Whenever Windows Installer 4.5 was installed by an installer package, our installer package is failing with 1603. So far, we found as a work around: if we manually uninstall Windows Installer 4.5 (running something like "C:\WINDOWS\$NtUninstallKB942288-v4$\spuninst\spuninst.exe"), we can then run our installer package successfully, but this has various drawbacks:

  1. the user who uninstall Windows Installer 4.5 is prompted with a dialog listing all the various software products installed using that, and effectively the link between those products and Windows Installer 4.5 is lost after uninstalling that, even if we reinstall it after successfully installing our application;
  2. as Microsoft released various version of Windows Installer 4.5, the location of the utility to uninstall that is not strictly the one given above;
  3. It is awkward to ask customers to perform such a work around.

I suppose upgrading the installer package to target Windows Installer 5 may solve the issue, but if possibile I would like to avoid it, and continuing to use InstallShield 2009 to author this specific package.

I have scoured the Microsoft and Flexera Knowledge Bases (and I am continuing my investigation), with no avail so far.

Does anyone knows if Microsoft or Flexera, or any other third party, have published an hotfix, or some further info, about this issue?

Some info about the 1603 error code failure

We got verbose logs for this issue, from at least 3 different servers, and we have investigated that in depth, to not avail so far. Most actions return 1, some 0 (specifically IsolateComponents, MigrateFeatureStates, IsolateComponents, SetODBCFolders, MigrateFeatureStates, UnpublishComponents, UnregisterComPlus, UnregisterTypeLibraries, UnregisterMIMEInfo, RemoveShortcuts, RemoveFiles, CreateShortcuts, RegisterMIMEInfo, InstallODBC, RegisterTypeLibraries, RegisterComPlus and PublishComponents, but nothing has yet came out investigating those), the installer package seems actually to be almost able to install (perform all the sequence down to "INSTALL. Return value 1.", it even prints "Product: [Our Product] -- Installation operation completed successfully."), only then it starts to rollback everything, and as there are various errors on the rollback, I think some of those will cause the 1603 (probably some 1607 returned by MsiProvideAssembly on ISChainPackagesCleanup), but the point is that it shouldn't rollback, and with Windows Installer 3.1 (or 5.x for that matter) it doesn't, it does rollback only when there is Windows Installer 4.5 installed on a Windows 2003 x86 environment.

aledeniz
  • 431
  • 3
  • 13
  • I also opened a thread on the Flexera forum for InstallShield 2009: http://community.flexerasoftware.com/showthread.php?p=479012 – aledeniz Jun 18 '12 at 09:43
  • I also opened a thread on the InstallSite forum: http://forum.installsite.net/index.php?showtopic=21075 – aledeniz Jun 18 '12 at 09:58
  • To be more precise, we found our installer package works on Microsoft Windows Server 2003 R2 x86 with Windows Installer 3.1.4000.3959 (it does probably work also with 3.1.4000.2435 and 3.1.4000.1830, it used to, but I haven't tested those recently), but it does't work there if Windows Installer 4.5.6001.22159 has been installed (i.e. from the installer of Sql Server 2008 R2, or other packages targeting 4.5). – aledeniz Jun 18 '12 at 10:04
  • There are no redistributables to install Windows Installer 5 on downlevel systems; it's only available as part of Windows 7 / Windows Server 2008 R2, or later. So I definitely advise you figure out what the real problem is. As you note, 1603 is the catch-all summary of some error occurring by that time. – Michael Urman Jun 18 '12 at 11:37
  • No WI5 involved Hi Michael, thank you for your comment, I edited the question giving further info about the 1603, I would like just to point that there is no involvement of Windows Installer 5, so far we have only replicated that with 4.5 on 2003 R2 x86. – aledeniz Jun 18 '12 at 11:54
  • Can you email me the verbose logs? I'll take a look at them if you do. – Christopher Painter Jun 18 '12 at 13:02
  • Sharing logs. Hi Chris, thank you for your kind offer, at the moment I am trying to find some time to replicate the issue capturing also the chained package log, as per Cosmin suggestion. – aledeniz Jun 19 '12 at 07:33

1 Answers1

2

Most likely your package has an action which fails, either custom or standard. Try creating a verbose log of the installation which fails (it's very important to be verbose). After the failure, open the log with a text editor and search for the error code (1603) to see what triggers it.

As a side note, don't try to blame Windows Installer. There's nothing wrong with version 4.5 and there are no hotfixes or something like that. The problem is in your package. It does something which is either incorrect or unsupported.

EDIT:

From your post update it looks like a failed chained installation. No errors are shown in the log because the error occurs in a different installer process.

If you are not using chained packages, try looking for errors in the Event Viewer.

If you are using chained packages, you can try enabling the Windows Installer logging policy and check for logs generated by them. Most likely one of the packages is encountering a problem.

Cosmin
  • 21,216
  • 5
  • 45
  • 60
  • Verbose log Hi Cosmin, thank you for your answer, yes, we are getting the verbose log, and we have investigated that in depth, to not avail so far. I'll add more details on the question about that. I am not sure I am blaming WI, but I can confirm it is working with WI 3.1 or WI 5, it is not working with WI 4.5, same package, we have tested it on tens of servers, something must be different. After we manually remove 4.5, we can install using 3.1! – aledeniz Jun 18 '12 at 11:39
  • Chained package Hi Cosmin, I read your edit while on the other monitor I was actually looking at the Releases view on InstallShield, glancing at the single chained .msi package of that package and wondering if that could be related (I reached there wondering why the issue has not yet been reported with the 64 bit version of the same installer, which doesn't use chained packages). I am going to try another installation with logging enabled to see if it catches anything on the chained package (which by the way, it is a Crystal Reports runtime). – aledeniz Jun 18 '12 at 12:41