首页 文章

WiX在安装过程中将msiexec安装日志保存为捆绑包的一部分

提问于
浏览
1

我正在运行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 回答

  • 0

    为了回答我的问题,下面给出了抑制EULA并显示正确图像的方法 .

    <?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="insert GUID here"
          Compressed="yes">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" >
      <bal:WixStandardBootstrapperApplication
        SuppressOptionsUI="yes"
        LogoFile="C:\Path\Logo.jpg"
        LicenseUrl=""
        xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
    </BootstrapperApplicationRef>
    
        <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>
    

相关问题