简体   繁体   English

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

[英]WiX save msiexec install log during installation as part of a bundle

I am running Visual Studio 2010 and WiX 3.7. 我正在运行Visual Studio 2010和WiX 3.7。

I have successfully created a WiX project that distributes my XLL and has custom actions to register the XLL with Excel. 我已经成功创建了一个WiX项目,该项目可分发我的XLL,并具有自定义操作以向Excel注册XLL。 We plan to distribute the XLL for our users via a .NET web page with a button link that the user would click. 我们计划通过.NET网页为用户分发XLL,该网页带有用户单击的按钮链接。

I have been looking for an example of how to take my WiX project and save a installation log file (using the MSIEXEC parameters) to the company directory under program files. 我一直在寻找有关如何进行我的WiX项目并将安装日志文件(使用MSIEXEC参数)保存到程序文件下的company目录中的示例。 Is it correct that I need to create a bootstrapper project to do this so that the file can be distributed as part of the install? 我需要创建一个引导程序项目来执行此操作,以便可以在安装过程中分发文件,这是否正确?

If so, I have the following questions: 如果是这样,我有以下问题:

  1. How would I specify the output directory in the bootstrapper project? 如何在bootstrapper项目中指定输出目录?
  2. Since my WiX project produces an MSI output, is it possible to have a Chain in the bootstrapper project with an ExePackage (instead of an MsiPackage)? 由于我的WiX项目产生了MSI输出,是否可以在带有ExePackage(而不是MsiPackage)的引导程序项目中使用Chain? I ask this because that seems to be the only way to have an IntallCommand (otherwise I would use the MsiPackage). 我问这个问题是因为这似乎是拥有IntallCommand的唯一方法(否则我将使用MsiPackage)。
  3. Are the parameters for the InstallCommand the same as they would be for running msiexec from the command line? InstallCommand的参数是否与从命令行运行msiexec的参数相同?
  4. If the software is uninstalled, would it remove the log file? 如果软件已卸载,是否会删除日志文件?
  5. Would I reference the MSI WiX Project within the bootstrapper project? 我会在引导程序项目中引用MSI WiX项目吗? If so, would I be able to use variables for the MSI project (ie if the MSI project name is MSIPROJ, then the reference variable would be ($var.MSIPROJ)? 如果是这样,我是否可以为MSI项目使用变量(即,如果MSI项目名称为MSIPROJ,则引用变量将为($ var.MSIPROJ)?
  6. Am I able to specify the directory for output the same way that I would in a regular WiX Setup Project? 我可以像在常规WiX安装项目中一样指定输出目录吗?

If the bootstrapper project is not the solution, how would I achieve the goal? 如果引导程序项目不是解决方案,那么我将如何实现目标?

EDIT 1: 编辑1:

I was able to create a bootstrapper project that creates an Install Log (in the temp directory by default). 我能够创建一个引导程序项目,该项目创建一个安装日志(默认情况下在temp目录中)。 This comes up with a brand new dialog. 这带有一个全新的对话框。

My questions on this are as follows: 我对此的疑问如下:

  1. Can the dialogs produced by the bootstrapper project mirror the dialogs setup in the MSI project (ie )? 引导程序项目生成的对话框可以镜像MSI项目(即)中的对话框设置吗?
  2. Can the resources (ie the EULA.rtf, Icon.ico, Dialog.jpg, and Banner.jpg) be specified as they were in the WiX setup project? 是否可以像在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> 

Thanks, 谢谢,

Lee 背风处

To answer my question, the way to suppress the EULA and show the correct images is given below. 为了回答我的问题,下面给出了抑制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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在安装wix安装程序的过程中如何复制folder / files1..to..files5 - How to copy folder/files1..to..files5 during the installation of wix installer VS2010是否在安装过程中未安装SQL Server - Does VS2010 does not install SQL Server during installation 在Install Shield的“自定义操作”(合并模块项目)中安装期间无法获取安装路径 - unable to get install path during the installation in Custom Actions (Merge Module Project) in Install Shield 如何安装从维克斯自定义引导程序/卸载单MSI软件包包含多个类似的MSI安装项目的添加/删除功能? - How to install / uninstall single msi from wix custom bootstrapper bundle containing multiple MSIs like add/remove feature of Setup project? 创建事件日志源作为安装的一部分 - Windows窗体应用程序和部署项目 - Create Event Log Source as part of installation - windows forms app, vs deployment project 将自定义安装操作移植到Wix - Porting Custom Install Actions to Wix WiX&#39;Bundle&#39;&#39;ExePackage&#39;&#39;DetectCondition&#39;总是错误的 - WiX 'Bundle' 'ExePackage' 'DetectCondition' is always false 安装期间卸载应用程序无法正常工作 - Uninstall a application during installation not working 在安装过程中运行批处理文件 - Run a batch file during installation installshield在安装过程中写入文件 - installshield write to file during installation
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM