精华内容
下载资源
问答
  • Wix嵌入式MySql Wix嵌入式MySql库提供了一种在集成测试中运行真实MySql的方法。 为什么? 您的测试可以在类似于生产的环境中运行:匹配版本,编码,时区,数据库/模式/用户设置; 它比手工安装正确的版本容易,...
  • Wix动画 Wix动画包含Animator React组件。 该组件将为其安装或卸载的所有子代设置动画。 Animator组件使用库。 它符合动画的Wix UX样式准则。 演示版 观看以了解您可以使用它做的所有事情。 入门 在项目中使用 ...
  • wix311.exe

    2020-04-08 17:25:12
    JavaFX打包exe时需要安装的一个工具,亲测可以使用。
  • WiX 3.6:Windows Installer XML开发人员指南 这是Packt出版的的代码库。 Windows Installer XML的深入介绍 这本书是关于什么的? Windows Installer的神秘技术似乎与简单地安装某些东西的实际任务相去甚远。 ...
  • wix311-binaries.zip

    2020-06-18 16:03:27
    使用jdk的jpackage 打包时需要用到WiX 工具 (light.exe, candle.exe)
  • WIX生成MSI包的核心程序,可以直接的通过脚本生成对应的MSI包,生成过程中修改对应的WMS文件来完成程序包的制作。
  • WiX工具集允许开发人员为Windows安装引擎Windows Installer创建安装程序。 WiX的核心是一组构建工具,它们使用与产品其余部分相同的构建概念构建Windows Installer程序包:编译源代码然后链接以创建可执行文件; 在...
  • Wix打包教程

    2018-01-11 11:12:58
    网上找到的Wix打包的教程总结,还有英文原版教程,还是英文原版比较详细
  • cargo-wix:创建Windows安装程序的cargo子命令 的子命令,它使用二进制项目的发行版中的构建Windows安装程序(msi)。 如果可以使用提供的应用程序提供代码签名证书,则它还支持对Windows安装程序进行签名。 快速...
  • 只需将您的WiX项目安装或下载到映像中并进行编译。 因此,您将轻松获得MSI。 注意:此图像非常大(约1.2GB)。 提供的核心软件包 除了父映像中包含的软件包之外,此映像还提供以下核心软件包: 从基于XML的描述中...
  • wix310.exe & innosetup-5.6.1

    2018-07-18 17:45:54
    wix310.exe & innosetup-5.6.1。 ----------- 检测到 [iscc.exe] 版本 0, 但需要版本 5。 [INFO] Skipping 'EXE 安装程序' because of configuration error '找不到 InnoSetup 编译器 (iscc.exe)。' Advice to fix: ...
  • wix独立版-签出此仓库以在github动作中构建wix项目 工作流程示例 name : .NET Core Build on : push : branches : [ main ] pull_request : branches : [ main ] jobs : build : runs-on : windows-latest ...
  • If you're coming from an earlier version of WiX, you'll be happy to know that for the most part, things that used to work will still work. However, several tasks, such as implementing a major upgrade...
  • 个人网站:我会在业余时间使用个人网站; 我想从我当前的Wix网站迁移到该网站
  • Wix Restaurants JSON实用工具 在顶部实现类似于JavaScript的接口:JSON.stringify,JSON.bytify,JSON.parse。 支持标准的Java和Scala对象。 安装 Maven用户 将此依赖项添加到项目的POM中: < groupId>...
  • 用于 Docker 的 Windows 安装程序 XML 工具集 (WiX) 目前很难以自动化的方式为所有主要平台创建原生的高质量安装程序。 最困难的是 Windows,因为创建 Microsoft 安装程序 (MSI) 文件的唯一本机方式是使用 ...
  • eslint-config-wix编辑器 的编辑器组的ESLint 安装 $ npm i -D eslint-config-wix-editor 用法 在您的package.json添加一些ESLint配置: { " name " : " some-well-linted-project " , " eslintConfig " : { ...
  • 将使用123FormBuilder提交收集的数据推送到Wix代码 使用此存储库,您将能够将使用123FormBuilder提交接收的数据推送到Wix Code数据库。 请使用。 一切都进行了详细说明,屏幕截图也可以为您提供帮助。 有关支持的...
  • WIX3.5--WIX3.7安装包

    2019-01-17 10:48:54
    程序中为wix3.7版本,但对于环境对wix3.5到wix3.7版本的需求都可使用(自己已经亲测可用),具体使用方法见压缩包内的readme文件
  • Wix的一个基于事件的微型状态管理器 for 。 如何使用 您可以从Package Manager安装或使用演示模板。 Wix网站模板: 例子 public/store.js import { createStoreon } from "storeon-velo" ; const counter = ( ...
  • 关于WiX工具集的C#接口的文章
  • wix

    2020-01-03 16:00:27
    文章目录如何使用wix制作安装程序1.1 wix简介1.2 安装wix1.3 生成Samplefirst示例安装包1.4 SampleFirst代码1.5 优化后的Sample代码参考链接用户界面和本地化操作2.1 使用wix用户界面安装时填写注册表一 Microsoft...

    如何使用wix制作安装程序

    1.1 wix简介

    • Windows Installer XML
    • 源码用 XML 文件编写,
      • 经预处理、编译与链接,
      • 以创建 Windows Installer 数据库。
    • 命令行上用 WiX 工具集或用 MSBuild,来编译与链接 WiX 源代码,
    • 如果安装wix前已安装VS(vs2005或vs2008,据说vs2010已集成wix3.0),
      • 还可在Visual Studio IDE中生安装项目。

    • 这里论命令行方式用wix
      • 七章vs下用wix
    • 常用两命令
      • candle:编译源文件,
      • light:链接编译后的中间文件生成msi安装包。

    1.2 安装wix

    • 下载wix,http://wix.sourceforge.net/

    • wix用C#写的,安装wix前,须安装.NET Framework 2.0 和 Service Pack 1 ,是wix工具集运行环境必须的,
    • 安装应用程序的机器上未必用Net Framework环境,取决于你的程序使用的开发语言
    • wix不仅可打包.Net程序,也可Java和其他语言。
    • 我默认装在C:\Program Files (x86)\WiX Toolset v3.11
    • 将C:\Program Files (x86)\WiX Toolset v3.11\bin设到环境变量中

    1.3 生成Samplefirst示例安装包

    • 找到SampleFirst,

      • https://www.firegiant.com/system/files/samples/samplefirst.zip
    • 用vs或其他编辑器打开SampleFirst.wxs

    • 执行

    • candle.exe Samplefirst.wxs

    • 报错,为啥,肯定是你的GUID的问题啊
      在这里插入图片描述

    • 将YOURGUID-XXXX-XXXX-XXXX-XXXXXXXXXXXX换成唯一的GUID标识,用vs自带的GUID生成器,

      • vs工具下选创建GUID,须确保每个GUID唯一
      • 当前目录生SampleFirst.wixobj
    • light.exe Samplefirst.wixobj

    • 看到生成的安装文件SampleFirst.msi,一个msi安装包就制作。

    下面6个id都被我换了哈哈哈

    <?xml version='1.0' encoding='windows-1252'?>
    <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
      <Product Name='Foobar 1.0' Id='F80A282F-B8E2-4D7F-A8B8-C904FFD5F2B0' UpgradeCode='0200614B-B712-48FF-BEC1-A421FEB39748'
        Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='Acme Ltd.'>
    
        <Package Id='*' Keywords='Installer' Description="Acme's Foobar 1.0 Installer"
          Comments='Foobar is a registered trademark of Acme Ltd.' Manufacturer='Acme Ltd.'
          InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
    
        <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
        <Property Id='DiskPrompt' Value="Acme's Foobar 1.0 Installation [1]" />
    
        <Directory Id='TARGETDIR' Name='SourceDir'>
          <Directory Id='ProgramFilesFolder' Name='PFiles'>
            <Directory Id='Acme' Name='Acme'>
              <Directory Id='INSTALLDIR' Name='Foobar 1.0'>
    
                <Component Id='MainExecutable' Guid='A95D717D-D631-4500-AF42-94E7C116CAFD'>
                  <File Id='FoobarEXE' Name='FoobarAppl10.exe' DiskId='1' Source='FoobarAppl10.exe' KeyPath='yes'>
                    <Shortcut Id="startmenuFoobar10" Directory="ProgramMenuDir" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
                    <Shortcut Id="desktopFoobar10" Directory="DesktopFolder" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
                  </File>
                </Component>
    
                <Component Id='HelperLibrary' Guid='621920B4-E657-4D86-A7A7-17D2B02FFE09'>
                  <File Id='HelperDLL' Name='Helper.dll' DiskId='1' Source='Helper.dll' KeyPath='yes' />
                </Component>
    
                <Component Id='Manual' Guid='7FB746D5-0A44-4380-913D-D48DCEEFA8BC'>
                  <File Id='Manual' Name='Manual.pdf' DiskId='1' Source='Manual.pdf' KeyPath='yes'>
                    <Shortcut Id="startmenuManual" Directory="ProgramMenuDir" Name="Instruction Manual" Advertise="yes" />
                  </File>
                </Component>
    
              </Directory>
            </Directory>
          </Directory>
    
          <Directory Id="ProgramMenuFolder" Name="Programs">
            <Directory Id="ProgramMenuDir" Name="Foobar 1.0">
              <Component Id="ProgramMenuDir" Guid="340CD443-1379-4771-96F3-3E7F674EC36A">
                <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
                <RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='string' Value='' KeyPath='yes' />
              </Component>
            </Directory>
          </Directory>
    
          <Directory Id="DesktopFolder" Name="Desktop" />
        </Directory>
    
        <Feature Id='Complete' Level='1'>
          <ComponentRef Id='MainExecutable' />
          <ComponentRef Id='HelperLibrary' />
          <ComponentRef Id='Manual' />
          <ComponentRef Id='ProgramMenuDir' />
        </Feature>
    
        <Icon Id="Foobar10.exe" SourceFile="FoobarAppl10.exe" />
    
      </Product>
    </Wix>
    
    

    在这里插入图片描述

    • 安装之后形成这样

    在这里插入图片描述

    不能两次安装一毛一样的id,至少得有一个不i一样吧!,我猜测是这样的

    1.4 SampleFirst代码结构

    • wix源代码是标准的xml标记语言,打开SampleFirst.wxs

    • Product产品信息
    • Language和Codepage是设置生成安装包的语言环境
      • 以后章节详细讲本地化语言的配置
      • Name和Manufacturer好理解
    • Id和UpgradeCode有唯一标识的GUID编号
    • Version是发布产品的版本号(不包括修订版本号)

    • Package的ID也有唯一标识的GUID,不同的是对于每次生成的安装包,都要一个不同GUID,
      • 这里设成*,每次编译时时候编译器会自动为它生成一个GUID,
      • 这几个属性在制作升级程序和更新包的时候详细讲解
    • Description是安装包的全名或描述
    • Comments可理解成是注解,可选
    • InstallerVersion指定运行该安装包所需要的Windows Installer的最低版本
    • Compressed是否压缩安装包中的文件,一般yes,节省不少空间
     <Package Id='*' Keywords='Installer' Description="Acme's Foobar 1.0 Installer"
          Comments='Foobar is a registered trademark of Acme Ltd.' Manufacturer='Acme Ltd.'
          InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
    

    • Media设文件存储方式,
    • Cabinet压缩包名称,须和Package的Compressed属性配合使用,
      • 如果不设Cabinet和EmbedCab属性,则Compressed必设为no;
    • EmbedCab决定压缩包是否嵌入到安装文件(.msi);
    • 如果安装的文件较多较大,也可定义多个Media,
      • 将不同文件压缩到不同的Media中。
     <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
    

    • Property可看成一静态的变量,值是Value
    • 安装过程中以至于自定义的Action中都可改变和用它的值
     <Property Id='DiskPrompt' Value="Acme's Foobar 1.0 Installation [1]" />
    

    • Directory囊括所有要安装的

      • 包括应用程序,快捷方式,动态链接库,文档,注册表信息
    • 嵌套代表安装程序的目录结构

    • 最上层含预定义标识符”TARGETDIR”,

      • Name也是预定义值”SourceDir”;
      • TARGETDIR是所有Directory的父目录,
      • 每个Package安装包中须有且只能有一个
    • 第二层ProgramFilesFolder也是预定义标识,

      • 指定默认的安装目录在Program Files目录
    • 第三层是自定义的,默认情况它在它的上一级Directory下生成一个自定义目录,目录名是Name的值;

    • 最底层的标示符是INSTALLDIR,也是自定义的,

      • 据我们的定义,默认情况下程序会安装在以下:
      • C:/Program Files/Acme/Foobar 1.0/
    • INSTALLDIR的值是安装文件的绝对路径,默认情况下它依赖于我们定义的目录结构,

      • 如果在安装过程中我们改变安装路径,则INSTALLDIR属性值也改变,
    • INSTALLDIR和ProgramFilesFolder是Directory的一个标识符,

    • 所有Directory的标识符都可看做Property属性;

      • 而ProgramFilesFolder是Windows Installer中自带的一个Property属性,Windows Installer 在启动时设置它值;
    • Windows Installer 也设置INSTALLDIR的值,也可在其他地方引用它,即使你没显式定义一个INSTALLDIR Property。

    • (Windows Installer 提供的属性列表,可在msi sdk document中查到,参考Property Reference;可看到ProgramMenuFolder和DesktopFolder都是Windows Installer 已提供的属性。)

    • 这里Directory的默认的INSTALLDIR值是根据目录结构自动计算出来的,

      • 如果要将某些文件安装在固定位置,如E盘根目录,
      • 则需显式定义一个Property
      • Property 的Value属性就是要存放目录的位置。
      • 尝试在Fragment下添加如下,会出现啥效果:
    • ProgramMenuFolder Directory中定义安装在开始菜单->程序中的快捷方式。

    • Component定义所有要安装的元素,子元素可File、Shortcut、RemoveFolder、RegistryValue(注册表键)等,
    • 一个Component可包含多个子元素,
    • 但须有一个并且只能有一个元素的KeyPath=‘yes’ 。

    • Feature:安装的部件,
      • 将不同用处的安装文件放到不同的Feature中,
        • 安装过程中定制安装不同部件,
      • Feature的具体功能和部件定制在2章介绍用户界面时介绍;
    <Feature Id='Complete' Level='1'>
          <ComponentRef Id='MainExecutable' />
          <ComponentRef Id='HelperLibrary' />
          <ComponentRef Id='Manual' />
          <ComponentRef Id='ProgramMenuDir' />
    </Feature>
    

    • Icon定义的图标文件,是应用程序执行文件里的图标,也可是单独的图标文件。
     <Icon Id="Foobar10.exe" SourceFile="FoobarAppl10.exe" />
    

    1.5 优化后的Sample代码

    • 将SampleFirst源文件做一些优化
    
    <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>       
    
    <Product Name='Foobar 1.0' Id='{2C9A3180-95F0-4cdd-B02C-A0ABCAAE3413}' UpgradeCode='{F4F8195E-E907-42dd-BB90-CC2403FA7384}' Language='1033' Codepage='1252' Version='$(var.Version)' Manufacturer='Acme Ltd.'>               
    
    <Package Id='*' Keywords='Installer' Description="Acme's Foobar 1.0 Installer" Comments='Foobar is a registered trademark of Acme Ltd.' Manufacturer='Acme Ltd.'  InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />              
    
    <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />           
    
    <Property Id='DiskPrompt' Value="Acme's Foobar 1.0 Installation [1]" />              
    
     <Icon Id="Foobar10.exe" SourceFile="$(var.Version)/FoobarAppl10.exe" />           
    
     <Icon Id="word.ico" SourceFile="$(var.Version)/word.ico" />               
    
     <Feature Id='Complete' Title='Foobar 1.0' Description='The complete package.' Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>  
    
     <Feature Id='MainProgram' Title='Program' Description='The main executable.' Level='1'>                   
    
     <ComponentGroupRef Id='MainCompGroup' />                   
    
     <ComponentRef Id='compHelperLibrary' />               
    
     </Feature>              
    
     <Feature Id='Documentation' Title='Description' Description='The instruction manual.' Level='1000'>                  
    
     <ComponentRef Id='compManual' />              
    
     </Feature>          
    
     </Feature>           
    
     </Product>      
    
     <Fragment>          
    
     <ComponentGroup Id ="MainCompGroup">               
    
     <Component Id='compMainExecutable' Guid='{0008EE68-EA36-4d5d-8BC5-713029E1909A}' Directory='INSTALLDIR'>                   
    
     <File Id='filFoobarEXE' Name='FoobarAppl10.exe' DiskId='1' Source='$(var.Version)/FoobarAppl10.exe' KeyPath='yes'>                       
    
     <Shortcut Id="startmenuFoobar10" Directory="ProgramMenuDir" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />                       
    
     <Shortcut Id="desktopFoobar10" Directory="DesktopFolder" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />                   
    
     </File>               
    
     </Component>               
    
     <Component Id="compProgramMenuDir" Guid="{6886685C-E1B1-48d9-B6A7-548175BD8F17}" Directory="ProgramMenuDir">                  
    
     <Shortcut Id="UninstallProduct"  Name="Uninstall My Application" Directory="ProgramMenuDir" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]" Description="Uninstall"/>                   
    
     <RemoveFolder Id='rmvProgramMenuDir' On='uninstall' />                   
    
     <RegistryValue Root='HKCU' Key='Software/[Manufacturer]/[ProductName]' Type='string' Value='' KeyPath='yes' />               
    
     </Component>           
    
     </ComponentGroup>           
    
     <ComponentGroup Id='ExtraGroup'>               
    
     <Component Id='compHelperLibrary' Guid='{A30DAC3F-2902-479c-B530-B90A7BA8E514}' Directory='INSTALLDIR'>                   
    
     <File Id='filHelperDLL' Name='Helper.dll' DiskId='1' Source='$(var.Version)/Helper.dll' KeyPath='yes' />               
    
     </Component>                   
    
     <Component Id='compManual' Guid='{25518565-2E48-415c-B4FD-A20E2EA869D5}' Directory='INSTALLDIR'>                   
    
     <File Id='filManual' Name='Manual.pdf' DiskId='1' Source='$(var.Version)/Manual.pdf' KeyPath='yes'>                       
    
     <Shortcut Id="startmenuManual" Directory="ProgramMenuDir" Name="Instruction Manual" Icon="word.ico" Advertise="yes" />                   
    
     </File>               
    
     </Component>           
    
     </ComponentGroup>       
    
     </Fragment>       
    
     <Fragment>           
    
     <Directory Id='TARGETDIR' Name='SourceDir'>               
    
     <Directory Id='ProgramFilesFolder' Name='PFiles'>                   
    
     <Directory Id='ManufacturerDir' Name='Acme'>                       
    
     <Directory Id='INSTALLDIR' Name='Foobar 1.0'>                       
    
     </Directory>                   
    
     </Directory>               
    
     </Directory>                             
    
     <Directory Id="ProgramMenuFolder" Name="Programs">                   
    
     <Directory Id="ProgramMenuDir" Name="Foobar 1.0">                   
    
     </Directory>               
    
     </Directory>                              
    
    <Directory Id="DesktopFolder" Name="Desktop" />           
    
    </Directory>       
    
    </Fragment>   
    
    </Wix>
    
    
    • 为方便版本管理,把Product的Version改成变量
    • 在candle命令中将Version的值传给编译器
    • 这样不用在每次编译前都检查和修改源文件中的版本号,
    • 且以后会在源文件中多次使用这个版本号(特别是在发布升级包或更新补丁时),也可以减少出错的概率。

    • 多出2个跟Product并列的Fragment标签,它们是一些代码片段,这里跟SampleFirst很不一样,
      • 我们把SampleFirst中的一些结构搬到了Fragment中,但这并不影响我们最终生成安装包;
    • 可用*Ref元素来引用Fragment中定义的元素,
    • 把SampleFirst中复杂的Directory嵌套放到Fragment中,显得更清晰。

    • 再看另一个Fragment标签,
    • 把所有的Component都放在这里面,且可以根据不同的模块分成多个ComponentGroup,
    • 与SampleFirst中不同的是,这里所有的Component标签并非嵌套在Directory标签中,
    • 因此所有的Component都需要指定Directory属性,它是我们之前定义的Directory的Id标识符;

    • 为避免跟其他属性混淆,这里把元素的id等属性改了,
    • Component compMainExecutable ,它包含执行文件File filFoobarEXE和文件的快捷方式,
    • 我们可以在File标记下直接使用Shortcut定义快捷方式,可以看到他是一个advertised Shortcut,因此Component的KeyPath可以是FILE;

    • Component compProgramMenuDir ,它含3个子元素:

    好多没写啊

    参考链接

    用户界面和本地化操作

    • 上章知道如何对文件打包安装,
    • 不过生成的msi没用户界面,只有安装进度条。
    • 下看如何给安装包添用户界面:

    2.1 使用wix用户界面

    • wix自带一套UI
    • 1、WixUI_Mondo 含WixUI附带的全部用户界面:welcome界面,许可协议,安装类型(经典、自定义、完全),部件定制(安装类型自定义),浏览目标目录,磁盘消耗,同时也含维护模式的界面;
    • 2、WixUI_FeatureTree 与WixUI_Mondo的区别就是不能选择安装类型,许可协议界面之后直接到了部件定制界面;
    • 3、WixUI_InstallDir 不会出现选择安装类型和自定义部件的界面,许可协议之后会进入到选择安装目录界面
    • 4、WixUI_Minimal 简化的安装界面,在欢迎和许可协议后会自动安装,不能自定义部件和安装路径
    • 5、WixUI_Advanced 跟WixUI_Minimal 相似,可以一键直接安装,也允许定义部件和安装路径

    • 要在安装程序中应用WixUI需如下配置,
    • 首先在源文件Sample.wxs中添加UI的引用,UIRef标记可以放到Product或Fragment标签下:
    
    <UIRef Id="WixUI_Mondo" />
    
    <UIRef Id="WixUI_ErrorProgressText" />
    
    
    • WixUI_Mondo 是用户界面的引用,
    • WixUI_ErrorProgressText则是安装进度文本,加上该句后,安装进度界面会显示安装进度的文字信息。
    • 还有一个FilesInUse对话框也很有用,如果安装过程中要修改的文件正在使用,则会挂起安装程序,并弹出文件正在使用的对话框,用户可以选择重试、忽略或者退出安装,使用FilesInUse对话框 ,需添如下:
    <DialogRef Id = "FilesInUse" />
    
    

    安装时填写注册表

    一 Microsoft操作系统的注册表

    • 注册表是Windows中重要的数据库,

      • 存储系统和应用程序的设置信息
    • Windows操作系统自带工具regedit.exe可对注册表进行添加、删除、修改。

    • HKMU:HKEY_CURRENT_CONFIG,存储计算机当前的硬件配置信息。
    • HKCR:HKEY_CLASSES_ROOT,存储Windows可识别的文档类型的详细列表,及相关联的程序。
    • HKCU:HKEY_CURRENT_USER,存储当前用户设置的信息。
    • HKLM:HKEY_LOCAL_MACHINE,存储安装在计算机上的硬件和软件的信息。
    • HKU:HKEY_USERS,存储使用本计算机的用户信息。

    二 添加注册表信息

    • 学习Wix中关于注册表的知识。
    • 下展示如何填写两个注册实体,
      • 一个关联指定值而另一个关联默认值。
    
    <DirectoryRef Id="TARGETDIR">
        <Component Id="RegistryEntry" Guid="C26D6547-BB6B-49C3-9286-8DCDC1961B3D">
            <RegistryKey Root="HKCU" Key="Software\Microsoft\HelloWorld">
                <RegistryValue Type="integer" Name="Installed" Value="1" KeyPath="yes" />
                <RegistryValue Type="string" Value="Default Value" />
            </RegistryKey>
        </Component>
    </DirectoryRef>
    
    
    • DirectoryRef和ComponentRef是Directory和Component元素的引用

    • 通过RegistryKey元素创建的注册实体指出将注册键值对填写在何处。
    • 指出的位置是HKey_CURRENT_USER\Software\Microsoft\HelloWorld。
    • 在RegistryKey下,通过RegistryValue元素来创建具体的键值对。
    • 第一个RegistryValue创建了一个名为Installed,类型integer,值为1的键值对,
      • 且将该元素设为KeyPath(用于Windows Installer判断所属的Component是否已安装)。
    • 第二个RegisterValue则创建类型string,值”Default Value”的默认键值对。

    • 接下来,要将上面的Component含在一个Feature中以便安装
    <Feature Id="ProductFeature" Title="HelloWorld" Level="1">
             <ComponentRef Id="ProductComponent" />
             <ComponentRef Id="RegistryEntry" />
    </Feature>
    
    • 将注册实体所在的Component和HelloWorld.exe文件所属的Component放在同一个Feature中
    • 当然你也可以放在不同的Feature中,这个得看你自己的意愿,也要看产品的逻辑。
    展开全文
  • ifttt-wix-stores 将IFTTT集成到Wix商店
  • 下载您的Wix网站,在本地IDE中进行编码,进行协作,使用git等! 重要提示:与本地编辑器有关的功能目前处于Alpha发行阶段,并且仍在开发中。 将来的功能可能无法向后兼容。 使用这些功能时,您将承担与使用此类...
  • vs打开wixproj类型工程必须需要安装的工具,否则无法打开该类型文件
  • WIX制作C#应用程序安装包
  • Wix React工具 该项目已弃用 该库为React组件提供有用的实用程序和功能。 注意 当前文档(包括此文件)包含与3.1.x发行版匹配的信息,而该代码是4.0.0的高级发行版。 在3.1.x和4.0.0之间的更改仅大致记录在。 安装 ...
  • 这是一个自定义扩展程序,可以从wix网站下载图像。 这是下载的wix图像。 支持语言:English (United States)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,703
精华内容 1,481
关键字:

WiX