У меня есть приложение.NET, которое работает в 32 и 64 битах. Я хотел бы записать один единственный установщик, который устанавливает на c:\program файлах, не c:\program файлы (x86) независимо от платформы.
Из этой ссылки: http://msdn.microsoft.com/en-us/library/w1behyzx (v=VS.90) .aspx это не выглядит возможным. Имеет место это?
Согласно Как: создать установщик Windows для 64-разрядной версии Платформа :
Чтобы распространить приложение .NET Framework как на 32-, так и на 64-разрядные платформы, создайте два пакета MSI, один нацеленный на 32-разрядную -bit, а другой - 64-битный компьютер. Пользователь может установить 32-разрядный пакет проекта установки, и он, скорее всего, будет работать как 64-разрядное приложение, только 64-разрядная установка проект будет установлен в каталог "Program Files64".
Не лучший опыт, но работает.
Обновление: Обычный способ избавиться от двух пакетов установщика - это создать один исполняемый файл установки, который упаковывает оба установщика и на лету выбирает правильный.
Вы можете просто быстро создать C # (хотя теперь у вас есть проблема с его загрузкой на машинах без .Net. Да, есть ли такие машины? :-)) или исполняемый файл C ++ самостоятельно, который определяет платформу, на которой он работает, и запускает процесс msiexec с правильным .msi, извлеченным из исполняемых ресурсов или загруженным с веб-сайта.
Или принятый ответ на этот вопрос SO кратко рассказывает об этом и упоминает сторонний инструмент под названием Advanced Installer , который может помочь вам в этом. Обратите внимание, что я не пробовал этот инструмент и не могу за него поручиться, я упоминаю его просто для справки; вам придется оценить это самостоятельно. : -)
Если ваше приложение работает в 32- и 64-разрядном вариантах, оно 32-разрядное и, следовательно, находится в папке (x86).
Эта ссылка http://msdn.microsoft.com/en-us/library/cd7a85k9%28v=VS.90%29.aspx (указанная в опубликованной вами ссылке) содержит следующий раздел: Для установки файлов в папку Common Files, Program Files или System на 64-битной платформе.
Это должно вам помочь, если вы нацелены на платформу x64 и не имеете никаких ссылок на библиотеки, предназначенные только для x86.
Я использую WiX для установочных пакетов. Пожалуйста, просмотрите следующую статью, чтобы понять, подходит ли он под ваши требования:
с