我正在运行Visual Studio 2010和WiX 3.7 .
我已成功创建了一个分发我的XLL的WiX项目,并具有自定义操作以使用Excel注册XLL . 我们计划通过.NET网页为用户分发XLL,其中包含用户可以单击的按钮链接 .
我一直在寻找一个如何获取我的WiX项目并将安装日志文件(使用MSIEXEC参数)保存到程序文件下的公司目录的示例 . 我需要创建一个bootstrapper项目来执行此操作以便文件可以作为安装的一部分进行分发,这是否正确?
如果是这样,我有以下问题:
-
如何在bootstrapper项目中指定输出目录?
-
由于我的WiX项目产生了MSI输出,是否可以在引导程序项目中使用ExePackage(而不是MsiPackage)创建一个Chain?我问这个是因为这似乎是拥有IntallCommand的唯一方法(否则我会使用MsiPackage) .
-
InstallCommand的参数是否与从命令行运行msiexec时的参数相同?
-
如果卸载了该软件,是否会删除该日志文件?
-
我会在引导程序项目中引用MSI WiX项目吗?如果是这样,我能否为MSI项目使用变量(即如果MSI项目名称是MSIPROJ,那么引用变量将是($ var.MSIPROJ)?
-
我是否能够以与常规WiX设置项目相同的方式指定输出目录?
如果bootstrapper项目不是解决方案,我将如何实现目标?
EDIT 1:
我能够创建一个创建安装日志的引导程序项目(默认情况下在临时目录中) . 这提出了一个全新的对话框 .
我对此的问题如下:
-
引导程序项目生成的对话框是否可以镜像MSI项目中的对话框设置(即)?
-
可以像在WiX设置项目中那样指定资源(即EULA.rtf,Icon.ico,Dialog.jpg和Banner.jpg)吗?
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Name"
Version="1.0.0.0"
Manufacturer="Company"
DisableModify="yes"
UpgradeCode="71515514-5c35-4a2f-a782-fe91bf2a5943"
Compressed="yes">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<PackageGroupRef Id="InstallerPackage"/>
</Chain>
</Bundle>
<Fragment>
<PackageGroup Id="InstallerPackage">
<MsiPackage SourceFile="$(var.ExcelAddInDeploy.TargetPath)" Compressed="yes" EnableFeatureSelection="no" Vital="yes" DisplayInternalUI="yes">
<MsiProperty Name="MSC" Value="[MSC]" />
</MsiPackage>
</PackageGroup>
</Fragment>
</Wix>
谢谢,
背风处
1 回答
为了回答我的问题,下面给出了抑制EULA并显示正确图像的方法 .