cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Dean_H
Level 7

Prerequisite fails to install on Vista 64bit OS

I have an InstallScript 2010 project that has a prerequisite to install vcredist_x86 (time and date stamp 10/28/09 1:59pm). The prerequisite installs successfully on XP 32 & 64bit, Vista 32bit and Windows 7 32 & 64 bit, however it always fails installation on Vista 64bit, with error "Installation of Microsoft Visual C++ 2005 SP1 Redistributable (x86) appears to have failed". If I take that same vcredist_x86.exe file and install it from a command prompt, it installs without issue on the Vista 64bit OS. If I also write a function within InstallScript, that also installs successfully, so why does the component fail as a prerequisite on Vista 64bit OS? I have tries to use the logging function setup.exe /DEBUGLOG"c:\debug.log" but no log file is evere created. Does anyone have any ideas how I can make this work as a Prerequisite on Vist 64bit OS. Is there any way to captur the info in a log file? Any help would be much appreciated.
Labels (1)
0 Kudos
(8) Replies
Dean_H
Level 7

Upon further review, the message indicates that the component has failed to install, but it actually is being installed. I noticed that someone else had posted a similar message yesterday, but I checked and I have 2 conditions, both 2 check for the existance of a registry key, and at the time of installation, neither registry key exists, so why does the Prerequisite component post message that component failed to install and only on Vista 64 bit OS? I have attached my Prerequisite
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

The setup probably doesn't have the privileges to write to c:\debug.log, so try passing a different path, or leaving the default of next to setup.exe. Like I mentioned on a similar post, chances are the conditions still indicate the prerequisite need to be installed; this is how the prerequisite engine detects a failure.
0 Kudos
laconical
Level 3

I have a similar problem. I've configured my own Visual C++ 2008 Redistributable prerequisite. It installs successfully on Windows XP (32-bit) and Windows 2003 (32-bit), but fails on Windows 2008 (64-bit). I tried running setup.exe /debuglog, but no log file is produced anywhere on the entire disk. Any further suggestions on what could be causing this?
0 Kudos
laconical
Level 3

Bump. Any other ideas?
0 Kudos
MrTree
Level 6

/DEBUGLOG only works on Installscript MSI Projects, do you have Installscript or Installscript MSI Project?
0 Kudos
laconical
Level 3

It's a pure Installscript project. So that explains why I can't get any debugging output.

I think the problem is caused by 64-bit registry changes documented here. The Visual C++ Redistributable seems to be installing to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D20352A90C039D93DBF6126ECE614057, and I'm guessing that the InstallShield is looking under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D20352A90C039D93DBF6126ECE614057. I'm hoping I can fix this by forcing the prerequisite to check the 64-bit registry location, so that's what I'll try next.
0 Kudos
laconical
Level 3

It's an Installscript project, so that explains why the debug log is not getting created.

I think the problem is caused by the 64-bit registry changes documented here. The Visual C++ Redistributable is installing to the 64-bit registry location (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D20352A90C039D93DBF6126ECE614057), but I'm guessing that InstallShield is checking the 32-bit location (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wow6432Node\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D20352A90C039D93DBF6126ECE614057). I'm hoping that I can fix this by forcing the prerequisite to check the 64-bit location, which is what I'll try next.
0 Kudos
Cris_Moore
Level 5

I ran into this issue for Win7-64. Doing the following fixed the issue for me,

In the Prerequisite Condition dialog for the 'Registry Key Exists' type condition, select "64-bit" instead of "Default" for "Check the following registry location on a 64-bit system"
0 Kudos