Слияние MSI и EXE
Мой проект развертывания создает и.msi-файл, и.exe-файл. Можно ли объединить их в один.exe?
3 ответа
Да, вы можете создать самораспаковывающийся установщик, содержащий как MSI, так и файл загрузчика setup.exe.
Я думаю, что это можно сделать с помощью WinZip, или вы можете использовать IExpress с Windows. Вот руководство, как создать самораспаковывающийся исполняемый файл с помощью IExpress. Вы можете использовать мастер IExpress или вручную написать файл конфигурации, который затем сможете выполнить на этапе сборки проекта установки, например, вызвав
IExpress /N /Q MySetup.sed
Пример файла конфигурации будет выглядеть так:
[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=1
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName=MySetup.exe
FriendlyName=My cool application
AppLaunched=CMD /C setup.exe
PostInstallCmd=
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="setup.exe"
FILE1="MySetup.msi"
[SourceFiles]
SourceFiles0=
[SourceFiles0]
%FILE0%=
%FILE1%=
Однако есть несколько предостережений с самораспаковывающимися сценариями установщика. Из-за другого исправления эти сценарии ломаются с помощью загрузчика (setup.exe), созданного VS2008 SP1. Для обхода этой проблемы см. Следующую ветку: http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0.
Мне нравится, вы можете увидеть, как использовать IExpress по этой ссылке!
Единственная проблема, которую я вижу, состояла в том, что я сгенерировал установщик на 64-битной Windows Vista, я пытался установить сгенерированный.exe на сервер с 32-битной Windows Server 2008, но он выдает ошибку о типе процессора.
Другим вариантом может быть 7zip с плагином sfx: http://www.7-zip.org/download.html или самораспаковщик WinZip: http://www.winzip.com/prodpagese.htm