【发布时间】:2010-10-06 20:43:54
【问题描述】:
我的部署项目会创建一个 .msi 文件和一个 .exe 文件。是否可以将它们合并为一个.exe?
【问题讨论】:
标签: c# deployment
我的部署项目会创建一个 .msi 文件和一个 .exe 文件。是否可以将它们合并为一个.exe?
【问题讨论】:
标签: c# deployment
是的,您可以创建包含 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。
【讨论】:
我喜欢,你可以在this link看到如何使用IExpress!
我看到的唯一问题是我在 Windows Vista 64 位上生成了一个安装程序,我试图将生成的 .exe 安装在一个具有 Windows Server 2008 32 位的服务器中,但它引发了有关处理器类型的错误。
【讨论】:
另一个选项可能是带有 sfx 插件的 7zip:http://www.7-zip.org/download.html 或 WinZip 自解压器:http://www.winzip.com/prodpagese.htm
【讨论】: