InstallShield 2010 Установка в программные файлы (x86), если выбраны программные файлы (64-разрядные) - PullRequest
4 голосов
/ 17 октября 2011

У меня есть очень простой установщик InstallShield.Он сбрасывает кучу плиток в TARGETDIR.Если я укажу каталог назначения почти как любой каталог, то там файлы будут удалены.(например, если я укажу C: \ temp, именно там будут появляться файлы.)

Странно то, что если я укажу подкаталог в «Program Files (x86)» в качестве каталога назначения, файлы получатустановлен в «Program Files».Я (очевидно) на 64-битной машине.

Это ошибка в InstallShield?Есть ли обходной путь для этого?Я знаю, придется ли моим клиентам (потребителям установщика) устанавливать это в Program Files или в x86-специфичные программные файлы (они должны быть сброшены в каталог существующего приложения).

В идеале, есть ключ реестра на клиентском компьютере, указывающий, куда устанавливать мои вещи;если я могу просто использовать это, это именно то, что я хочу сделать.

Ответы [ 2 ]

5 голосов
/ 18 октября 2011

Оказывается, мои компоненты установлены на ProgramFiles. Мне нужно было изменить их для установки на ProgramFiles64. Для этого:

  • Перейдите в представление «Компоненты» (конструктор установки)
  • Нажмите на каждый компонент один за другим
  • Под General найдите 64-Bit Component и измените его на Yes

Это решило это.

0 голосов
/ 19 октября 2011

Обычно 64-битные пакеты используют 64-битные местоположения. Поэтому, даже если вам каким-то образом удалось установить 64-разрядный пакет в «Program Files (x86)», это было бы неправильно и нелогично.

На 64-битной машине «Program Files» используется для 64-битных продуктов, а «Program Files (x86)» для 32-битных продуктов. Вы можете прочитать больше об этом здесь:

Так что если вы хотите установить в «Program Files (x86)», вы можете использовать 32-битный пакет.

Что касается вашего фактического вопроса, скорее всего InstallShield или Windows перенаправляет файлы вашего приложения в правильное местоположение.

...