Как объединить программу Setup.exe, Setup.msi и .NetFramework в один установщик? - PullRequest
2 голосов
/ 29 сентября 2011

Как объединить установочные файлы и необходимые файлы из проекта установки vs2010?... в моем каталоге релизов есть 3 файла:

setup.exe
Setup1.msi
DotNetFX40Client/dotNetFx40_Client_x86_x64.exe

, и мне нужно, чтобы эти файлы были в одном простом установочном файле.

Я пытался использовать инструмент IExpress из Windows, но это не такне работает, потому что «dotNetFx40_Client_x86_x64.exe» находится внутри каталога, а инструмент не поддерживает его.

Есть ли способ заставить setup.exe искать предварительное условие .net framework в корневой папке, чтобы я могиспользовать инструмент IExpress ?? А если нет, есть ли другой способ объединить эти файлы в один установщик?

Заранее спасибо !!Ура!

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Воспользуйтесь установщиком NSIS - вы можете найти его здесь , здесь можно найти множество уроков из здесь .Вот пример синтаксиса, принятого в вашем сценарии использования:

(...)
SetOutPath "$INSTDIR\resources"
SetOverwrite off
File "setup.exe"
File "setup1.msi"
File "DotNetFX40Client/dotNetFx40_Client_x86_x64.exe"
(...)
Exec "$INSTDIR\resources\setup.exe"

Затем файл NSI компилируется в один установщик файлов, который включает все ваши материалы в один исполняемый файл - функциональность этого исполняемого файла может быть где угодномежду простой распаковкой и выполнением вашего собственного файла setup.exe и полным пользовательским установщиком (не могу понять, почему вы хотите этого в вашем случае).

1 голос
/ 29 сентября 2011

Я добился большого успеха, используя dotNetInstaller 1.10 в качестве шага после сборки (исходный установщик, [необязательный] MSI и все вспомогательные пакеты включены в выходной исполняемый файл dotNetInstaller):

dotNetInstaller позволяет разработчику определять предварительные условия приложения и устанавливать правильные версии этих компонентов в предсказуемом порядке на основе архитектуры процессора, типа операционной системы и языка пользователя, позволяя пользователю загрузите эти компоненты из Интернета, установите эти компоненты непосредственно из единой пакетной установки, с локального носителя или с обеих сторон. dotNetInstaller очень многофункциональн и работает во всех известных операционных системах Windows с очень маленьким размером.

Boostrapper [dotNetInstaller] не заменяет такие инструменты, как InstallShield, Wise, Visual Studio Setup и развертывание Project или Wix. Цель состоит в том, чтобы создать приложение, которое поможет пользователям установить правильные предварительные условия. Большинству реальных приложений для правильной работы необходимо установить несколько компонентов, в том числе Windows Service Pack, Internet Explorer, MDAC или .NET Framework. Этот вид приложений чаще всего называют загрузчиками. dotNetInstaller такой загрузчик.

Требуется некоторая работа, чтобы получить «правильные правила», но для меня это работает достаточно хорошо.

Удачного кодирования.

...