【发布时间】:2010-01-12 02:33:25
【问题描述】:
我正在学习 Wix,我想生成一个 setup.exe 文件而不是 setup.msi。
这可能吗?
【问题讨论】:
我正在学习 Wix,我想生成一个 setup.exe 文件而不是 setup.msi。
这可能吗?
【问题讨论】:
setup EXE 通常被称为bootstrapper 或chainer。 WiX 3.5 将附带一个名为 burn.exe 的可执行文件,不幸的是,它仍在大力开发中。
如果您只是在使用没有附加逻辑的基本自解压 EXE,您可以将包含的 setupbld.exe 与 WiX 一起使用。但是它非常有限,只包含最基本的功能。
或者,7-zip 包含用于从现有 MSI 创建 setup.exe 的基本功能。您需要先安装SFXs for installers 插件。
如果您需要额外的逻辑、依赖项检查等,则有很多选择。我个人使用 IRMakeBootstrap,但在 wix-users 邮件列表中听说过有关 dotNetInstaller 的非常好的消息。
【讨论】:
step 1.Create window application
step 2. Add setp project
step 3. Add reference
1.WixNetFxExtension.dll
2.WixNetFxExtension.dll
3.WixNetFxExtension.dll
step 4. Add folowing code
<Component Id="ProductComponent">
<File Id="installation"
source="E:\MyWork\WindowsFormsApplication2\
WindowsFormsApplication2\bin\Debug/
WindowsFormsApplication2.exe"/>
<!-- TODO: Insert files, registry keys, and other
resources here. -->
</Component>
step 5. <Property Id="WIXUI_INSTALLDIR"
Value="INSTALLFOLDER" ></Property>
<UIRef Id="WixUI_InstallDir"/>
step 6.
<Directory Id="DesktopFolder" Name="Desktop"/>
<Directory Id="INSTALLFOLDER" Name="SetupProject1"
/>
step 7. <ComponentRef
Id="ApplicationShortcutDesktop"/>
step 8.<Fragment>
<DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcutDesktop"
Guid="cde1e030-eb64-49a5-b7b8-400b379c2d1a">
<Shortcut Id="ApplicationDesktopShortcut"
Name="SetupProject1" Description="SetupProject1"
Target=".
[INSTALLFOLDER]WindowsFormsApplication2.exe"
WorkingDirectory="INSTALLFOLDER" />
<RemoveFolder Id="RemoveDesktopFolder"
Directory="DesktopFolder" On="uninstall" />
<RegistryValue Root="HKCU"
Key="Software\SetupProject1" Name="installed"
Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
</Fragment>
step 9.build and install setup
【讨论】: