c# - 合并msi和exe

标签 c# deployment

我的部署项目创建了 .msi 文件和一个 .exe 文件。是否可以将它们合并到一个 .exe 中?

最佳答案

是的,您可以创建一个包含 MSI 和 setup.exe Bootstrap 文件的自解压安装程序。

我认为使用 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 创建的 Bootstrap (setup.exe)。有关解决方法,请参阅以下线程:http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0 .

关于c# - 合并msi和exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/535966/

相关文章:

java - 在远程 Tomcat 上自动部署 Java 应用程序

reactjs - Nginx:在同一服务器上为多个 React 应用程序提供服务

c# - 如何在 IValueConverter 中设置 DateTime 格式并返回字符串值?

c# - 如何从重新实现 GetHashCode 的类中获取原始哈希码?

c# - 在 .Net 中检索 Firebird ODS 版本

deployment - 如何使用多核、反向代理和 SSL 在云中部署 Node.js 以实现高可用性

java - JBoss 5.0 是否有配置设置来控制 ear 文件的部署顺序?

c# - CodeDomSerializer 输出顺序

c# - ASP.NET/C# 中的服务器端麦克风捕获

python - 带有 C 文件的 AWS Lambda 部署包