cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Pilgrim

Re: 64 bit vs 32 bit Installation Support?

Hi,

I have come to the following solution as DanGalender. In the result I have two Product Configurations. One configuration is x86 and the other is x64 (set via Template Summary). Each of them has two Releases - Debug and Release.

My problem: when you build the setup project, only Default Product Configuration is built. To build the other configuration I need to set it default. And I cannot figure out how I can to it from a command line. Setup project is built by "devenv 'Setup.isproj' \Rebuild Release". Do I need to create a new Solution configuration?
0 Kudos
Highlighted
Pilgrim

Re: 64 bit vs 32 bit Installation Support?

If someone will need to build setup by required Product Configuration and Release, use IsCmdBld.exe. Sample:

ISCmdBld.exe -p "C:\InstallShield 2009 Projects\My Othello Project\Othello.ism" -r "Othello Beta" -a "Build 245"
0 Kudos
Highlighted
Occasional contributor

Re: 64 bit vs 32 bit Installation Support?

So, here's my setup with a few questions...

Features:
Server
ServerX64
Common (This would hold the other 32 bit pieces common to both configurations.)

My plan is to build the Features as outlined with the server features being identical except for architecture, of course.

I will set the Template Summary Property as part of the release configurations to build two distinct .msi's. What would have been cool is if setting this architecture setting would have defaulted INSTALLDIR appropriately also, but I digress.

Now the questions...

1. Should I start my project as 32 bit and just mark the 64 bit components as such? In other words will everything (outside of the 64 bit stuff) be marked as 32bit components or should I change a setting?

2. At runtime, if INSTALLDIR is set to ProgramFiles64Folder during the 64 bit install, by whatever means, where are the 32 bit component files placed--In the same location or do they get dumped to ProgramFilesFolder since they are considered 32 bit components?

Any further information is greatly appreciated!!
0 Kudos
Highlighted
Flexera beginner

we release on both

We do this successfully. I have one InstallScript project with 2 defined releases. There is a lot of fancy foot work to do to deal with all of the 6t4bit stuff installshield doesn't handle, but you can usually program around the problems. Use the 64 defined directories; they will be set correctly for either 64 or 32 bit based on the OS this way you only have to code things once and don't have to put checks in all over the place.

The biggest issue we have right is that our code for checking if our application is running when the installer is launched doesn't work on win7, 64...the 'set wmi = CoGetObject(...) ALWAYS fails. I think its because the object commands are based on a 32bit system and we are on a 64 bit system....

I hope there is A LOT MORE 64 bit support coming with the next version. There is so much not handled.
0 Kudos
Highlighted
Occasional contributor

Re: 64 bit vs 32 bit Installation Support?

ZygoCorp wrote:
There is a lot of fancy foot work to do to deal with all of the 6t4bit stuff installshield doesn't handle, but you can usually program around the problems.


Can you summarize the 64 bit stuff not handled by IS or are the items to many to mention effectively?

Use the 64 defined directories; they will be set correctly for either 64 or 32 bit based on the OS this way you only have to code things once and don't have to put checks in all over the place.


Are you saying simply set INSTALLDIR via CA based on Architecture? This would be nice if this was done automatically based on the Template Summary Property setting used when configuring the releases.

I can see that it might be a problem to make a blanket change of INSTALLDIR to Program Files or P F (x86) as someone may install our product to any other location. We save INSTALLDIR to the registry and read on upgrade so can I use any text searching functions in IS 2010 on a property set during System Search.

For example if INSTALLDIR><"Program Files"??? I know this is a bit off this topic, sorry about that. I'm thinking I can because this is what the condition looks like if using Release Flags (property created) for conditions.
0 Kudos
Highlighted
Occasional contributor

Re: 64 bit vs 32 bit Installation Support?

Oh, another quick question (probably off topic as well)...

Can I run a 32 bit .dll Custom Action when running the 64 bit install package?

-----Had a chance to test this and it works OK running the 32 .dll from the 64-bit .msi.
0 Kudos
Highlighted
Occasional contributor

Re: 64 bit vs 32 bit Installation Support?

I defined a lot of registry searches in the system search pane. Do I need to create for every registry search a 64-BIT counterpart... meaning checking the 'Search the 64-BIT portion of the registry' checkbox?
0 Kudos
Highlighted
Occasional contributor

Re: 64 bit vs 32 bit Installation Support?

I'm having a little trouble getting this going (32/64 bit installs from same template).

After build it looks as though the correct features/components are included in build, but I'm tripping up on getting the 64 install to target Program Files as it seems to always go to Program Files (x86).

What I did was add a Set Property custom action to change INSTALLDIR to ProgramFiles64Folder. This action was run from the Next button on the dialog preceeding the Destination Dialog and was conditioned with VersionNT64. When the install runs on 64-bit, the correct location appears in the dialog, but the install files still go to x86. Should I be using a Set Directory custom action instead? If so, what settings should I use?

Are there many more changes I should be making in various, other tables too?

Any information appreciated!
0 Kudos
Highlighted
Flexera beginner

Re: 64 bit vs 32 bit Installation Support?

What I did that works for me was add a Set Directory custom action with the following settings:

Directory Name: INSTALLDIR
Directory Value: [ProgramFiles64Folder]\MyCompany\MyProduct
Execution Scheduling: Execute only once
Install Exec Sequence: After CostFinalize
Install Exec Condition: Not Installed And VersionNT64 And ISReleaseFlags="64bit"

My 64-bit Product Configuration has a release flag called 64bit; hence, the ISReleaseFlags="64bit" in my Install Exec Condition.

With this custom action, my 64-bit installer installs to Program Files for both a UI install and a silent install.
0 Kudos
Highlighted
Occasional contributor

Re: 64 bit vs 32 bit Installation Support?

I reread this thread from the beginning and used a Set Directory custom action from the next button of the dialog immediately before the destination dialog to set INSTALLDIR to ProgramFiles64Folder if ISReleaseFlags><"64Bit".

I don't know if setting the directory where I am is ideal, but it seems to work.
0 Kudos