我的部署项目创建了.msi文件和.exe文件。是否可以将这些合并为一个.exe?
答案 0 :(得分:24)
是的,您可以创建包含MSI和setup.exe引导程序文件的自解压安装程序。
我认为使用WinZip可以做到这一点,或者你可以使用Windows附带的IExpress。以下是如何创建a self-extracting executable with 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%=
然而,对于自解压安装程序方案,有一点需要注意。由于另一个修复,这些方案是broken与VS2008 SP1创建的引导程序(setup.exe)。有关解决方法,请参阅以下主题:http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0。
答案 1 :(得分:2)
我喜欢它,您可以在this link上看到如何使用IExpress!
我看到的唯一问题是我在Windows Vista 64位上生成了一个安装程序,我试图在Windows Server 2008 32位服务器上安装生成的.exe,但它会引发有关处理器类型的错误。
答案 2 :(得分:1)
另一个选项可能是7zip with sfx plugin:http://www.7-zip.org/download.html或WinZip self extractor:http://www.winzip.com/prodpagese.htm