InstallShield 2010 Installs to Program Files (x86) when Program Files (64-bit) selected

StackOverflow https://stackoverflow.com/questions/7798580

  •  10-02-2021
  •  | 
  •  

سؤال

I have a very basic InstallShield installer. It drops a bunch of tiles to TARGETDIR. If I specify the destination directory as almost any directory, that's where the files get dropped. (eg. if I specify C:\temp, that's where the files appear.)

The weird thing is, if I specify a subdirectory under "Program Files (x86)" as the destination directory, the files get installed to "Program Files". I am (obviously) on a 64-bit machine.

Is this a bug in InstallShield? Is there a work-around for this? I know if my clients (consumers of the installer) will have to install this to Program Files or x86-specific Program Files (it's supposed to be dropped into an existing application's directory).

Ideally, there's a registry key on the client machine indicating where to install my stuff to; if I can just leverage that, that's exactly what I want to do.

هل كانت مفيدة؟

المحلول

It turns out my components are set to install to ProgramFiles. I needed to change them to install to ProgramFiles64. To do this:

  • Go to your Components view (Installation Designer)
  • Click on each component one by one
  • Under General, look for 64-Bit Component and change it to Yes

That resolved it.

نصائح أخرى

Usually 64-bit packages use the 64-bit locations. So even if you somehow managed to install a 64-bit package in "Program Files (x86)", it would be incorrect and illogical.

On a 64-bit machine "Program Files" is used by 64-bit products and "Program Files (x86)" by 32-bit products. You can read more about this here:

So if you want to install in "Program Files (x86)", you can use a 32-bit package.

Regarding your actual question, most likely InstallShield or Windows is redirecting your application files to the correct location.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top