Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Problem with setup.exe on Windows 7 Embedded (x64)


2 replies to this topic

vgimple

vgimple
  • Full Members
  • 9 posts

Posted 25 March 2011 - 10:26

Hi everyone,

I have an issue for which neither a web search nor a search on the forum seemed to yield an answer, so maybe I am the first to run into this issue.

I have written an installer for our product using InstallShield 2011. The installer is a regular msi-Setup that comes as a single setup.exe launcher that installs the msi (and potentially also prerequisites). The installer for the whole product worked fine on the previous target platforms (Windows 7 x64 and Windows Vista x64), however on a Windows 7 Embedded (x64) machine it behaves strange:

• When I start setup.exe, the Windows UAC elevation dialog comes up as expected and asks for administrative privileges (which I grant)
• Following this, the usual setup.exe dialog comes up, indication the progress of the msi-Extraction. The progress bar runs through as usual, and if you peek into the %temp% directory you can see that the contents of the installer have been extracted.
• However, after this step, setup.exe simply terminates and nothing happens any more. Nothing is being installed. The msi file has been removed from %temp% and no msiexec is running. It almost looks like setup.exe “thinks” its job has been done properly and does a cleanup. The Windows Event log shows no indication of failures or activity (like e.g. a crash in setup.exe or the invocation of msinstall).
• I have enabled msiexec logging via the [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] registry settings, but no msiexec log is being created. Almost as if msiexec.exe does not get invoked at all.

I tried rebuilding setup.exe with included MSI engine (version 3.1) – but that did not change the behavior of the resulting setup.exe. If I use the MSI file embedded in setup.exe on the command line (with “msiexec /i mysetup.msi”) my product installs fine (and an msiexec log is being created as expected).

Summing it up it looks like the setup.exe launcher has an issue with Windows 7 Embedded (x64), but I cannot think of any more ways to diagnose the issue further. Has anyone ever had a similar problem? Or maybe even a workaround? (distributing the .msi files is not really an option I prefer going for because that strips me of the possibility to include InstallShield Prerequisites like the .Net 4.0 framework in a single installer)

Thanks for your help

Volker



BTW: The Windows Embedded setup uses the “Application Compatibility” template which includes the infrastructure commonly required to run applications without problems.

vgimple

vgimple
  • Full Members
  • 9 posts

Posted 25 March 2011 - 13:00

The problem persists, but I can now reliably reproduce it even with an almost empty and generic MSI project (no Custom actions or other things that might add complexity).

The problem seems to be related to the informations in the Summary Information stream of the MSI. As I do want to install a piece of 64 bit software, I set the template summary to "x64;0" which should be correct and does work properly on Vista and Windows 7 (not embedded), x64 editions.

On Windows 7 Embedded (x64), the only setting in the template summary that results in msiexec being invoked is "Intel;..." (language parameter does not matter). I have tried "x64", "AMD64", "Intel64" - all without success.

I did a cross-check on my own installer, setting the template summary to "Intel". Like with the simple sample project, msiexec is being invoked (but it's useless because it redirects the installation to C:\Program Files (x86).

From what I see, my guess is that the setup.exe that is being used to encapsulate the msi package is not suitable for Windows 7 Embedded (x64). Any solution to the problem would be highly appreciated.

Thanks and best regards

Volker

Attached Files


Edited by vgimple, 25 March 2011 - 17:00.


vgimple

vgimple
  • Full Members
  • 9 posts

Posted 28 March 2011 - 10:11

Hi everyone!

I found the solution. In case anyone else ever runs into this issue:
On Windows 7 Embedded (x64) a specific Windows Update (KB2393802) needs to be installed. If it is not, the handover of the elevated credentials from setup.exe (which is marked to require Admin privileges in my case) to msiexec does not work properly and the msi is never applied to the system.
Installing KB2393802 fixes this. Under regular Windows 7 (x64) and Windows 7 Embedded (x64) SP1 this is already part of the operating system, so no additional steps are necessary here.

Diagnosing this problem was difficult because automatic updates were switched on on my test machine, so at some point, this update was automatically installed, fixing the problems I was seeing and leading me to believe that my changes to the InstallShield project had actually fixed the issue. Which means that you really should ignore my previous post...

Cheers

Volker