This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- 64-bit InstallScript project problems - please help
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 28, 2009
07:37 AM
64-bit InstallScript project problems - please help
I have a straight InstallScript project - it's been working great.
I now need to be able to install a 32-bit OR a 64-bit version of our program, based on the platform - from one setup.exe. I created separate components for each piece of the software that were different for each of the platforms. [This is what the InstallScript instructor had said to do during my class.]
For example, we compile our dlls 2x, one target for x86 and one target for x64. I have a component 'FOO', that includes the x86 dlls, and a component '64FOO' that includes the x64 dlls. I also have noted component FOO to only target 32 bit platforms [the Platform Suite(s) setting] and component 64FOO to only target AMD64 and Intel64 platforms. The rest of my components are the same regardless of the platform, so they are set to Suite Independent.
During installation, the script events correctly identify the OS as well as the platform. SYSINFO.bIsWow64 ==1 for 64 nbit systems and ==0 for 32 bit systems. 🙂 . The correct build of our dlls is installed. 🙂 .
HOWEVER - they are always installed to "Program Files (x86)." I believe I need to call Disable(WOW64FSREDIRECTION); and I've added this call to OnFirstUIBefore, OnMaintUIBefore, and OnUpdateUIBefore at the top of these event handlers. 😞
I'm obviously doing something wrong or not doing something I should. Can anyone help please? The clock is ticking and I need this working.....I need to get this aspect of the installation working befor moving on to being able to install on either XP, Vista, or Windows 7 (currently we only install to XP). The Acresso documentation really only discusses MSI and installscript msi 64-bit topics......
I now need to be able to install a 32-bit OR a 64-bit version of our program, based on the platform - from one setup.exe. I created separate components for each piece of the software that were different for each of the platforms. [This is what the InstallScript instructor had said to do during my class.]
For example, we compile our dlls 2x, one target for x86 and one target for x64. I have a component 'FOO', that includes the x86 dlls, and a component '64FOO' that includes the x64 dlls. I also have noted component FOO to only target 32 bit platforms [the Platform Suite(s) setting] and component 64FOO to only target AMD64 and Intel64 platforms. The rest of my components are the same regardless of the platform, so they are set to Suite Independent.
During installation, the script events correctly identify the OS as well as the platform. SYSINFO.bIsWow64 ==1 for 64 nbit systems and ==0 for 32 bit systems. 🙂 . The correct build of our dlls is installed. 🙂 .
HOWEVER - they are always installed to "Program Files (x86)." I believe I need to call Disable(WOW64FSREDIRECTION); and I've added this call to OnFirstUIBefore, OnMaintUIBefore, and OnUpdateUIBefore at the top of these event handlers. 😞
I'm obviously doing something wrong or not doing something I should. Can anyone help please? The clock is ticking and I need this working.....I need to get this aspect of the installation working befor moving on to being able to install on either XP, Vista, or Windows 7 (currently we only install to XP). The Acresso documentation really only discusses MSI and installscript msi 64-bit topics......
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 28, 2009
01:22 PM
Have you set the target for these components (or their parents, etc.) to PROGRAMFILES64? The PROGRAMFILES variable always refers to the 32-bit location on a 64-bit machine.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 01, 2009
03:13 PM
This is similar to another question I've been wondering. 🙂
I have an InstallScript MSI project.
For a 64bit install, can you programatically choose the [Programfiles64Folder] and place my [INSTALLDIR] under it instead of the [ProgramFilesFolder] for 32bit installs?
By default, I have all my files in the [INSTALLDIR] under [ProgramFilesFolder] in "Installation Designer -> Application Data -> Files and Folders". So can this be changed in the installscript for 64bit installs?
I have an InstallScript MSI project.
For a 64bit install, can you programatically choose the [Programfiles64Folder] and place my [INSTALLDIR] under it instead of the [ProgramFilesFolder] for 32bit installs?
By default, I have all my files in the [INSTALLDIR] under [ProgramFilesFolder] in "Installation Designer -> Application Data -> Files and Folders". So can this be changed in the installscript for 64bit installs?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 02, 2009
01:03 PM
Yes and no - while you can certainly programmatically change the target of your INSTALLDIR, MSI packages cannot both support 32-bit and install to 64-bit only folders. This is a limitation of Windows Installer.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 15, 2009
12:21 PM
We set all of our directory paths based on targetdir, which is initialized to \\ in the General Information IDE.
What we had to do was change to . so ultimately on BOTH a 32 bit system and a 64 bit system it ends up evaluating to Program Files.
Acresso support suggested that we also explicitly seed TARGETDIR based on the OS and explicitly Disable (WOW64FSREDIRECTION) before file transfer as added precautions.:)
What we had to do was change
Acresso support suggested that we also explicitly seed TARGETDIR based on the OS and explicitly Disable (WOW64FSREDIRECTION) before file transfer as added precautions.:)