WiX安装选项--环境变量

系统环境变量由 Windows 定义并应用到所有计算机用户。对系统环境的更改将写入注册表,而且通常需要重启计算机才能生效。通常我们的程序中也会使用环境变量,如何在WiX设置环境变量呢?

安装一个环境变量,我们就需要向Environment table中添加一条记录,其中有几个字段是必须设置的:

Environment - public key to be referenced from other tables.
Name - name of the environment variable we want to create.
Value - value of new environment variable, which is formatted field.
同时在InstallExecuteSequence table 中需要添加 WriteEnvironmentStrings 或者RemoveEnvironmentStrings 操作。

在安装/删除程序的时候需要处理我们的环境变量:

安装程序:

如果相同名称的环境变量名称不存在,则创建一个变量:

如果已经存在一个相同名称的变量:

用新的值代替旧值.

不修改旧值或者忽略新值

在环境变量的值列表开头插入一个新的值.

在环境变量的值列表末尾插入一个新的值.

删除一个环境变量:

不管它的值

只有当它的值和提供的值匹配时.

环境变量的类型:

用户环境变量(used in per-user installation).

系统环境变量(used in per-machine installation).

卸载程序:

不删除环境变量.

删除环境变量.

下面我们来看一个例子:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="a960cf35-0779-43e8-923b-35638f2bfc42" Name="Minimal" Language="2052" Version="1.0.0.0" Manufacturer="Geffzhang"
           UpgradeCode="0bf7e020-5bbd-4a06-8e39-e715999edbf5">
        <Package InstallerVersion="200" Compressed="yes" Description="Minimal Windows Installer Sample"
             Comments="This installer database contains the logic and data required to install Minimal Windows Installer Sample."/>

        <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
    <Property Id="EnableEV" Value="1"></Property>

        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLLOCATION" Name="Minimal">
          <Component Id="Component1"
                     Guid="{1781A625-8ACB-45E7-A8BA-219D81760B2E}">
            <CreateFolder />
            <Environment Id="TestMinVar"
                         Action="set"
                         Part="all"
                         Name="MinEnvVar"
                         Permanent="no"
                         System="yes"
                         Value="8" />
          </Component>
                </Directory>
            </Directory>
        </Directory>

        <Feature Id="ProductFeature" Title="Minimal" Level="1">
      <ComponentRef Id="Component1" />
        </Feature>
    <InstallExecuteSequence>
      <WriteEnvironmentStrings>EnableEV=1</WriteEnvironmentStrings>

    </InstallExecuteSequence>
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />
    <UIRef Id="WixUI_InstallDir" />

  </Product>
</Wix>

这个例子创建了一个系统环境变量 TestMinVar 值是 "8"。编译并安装例子程序,在系统环境变量就可以看到TestMinVar这个环境变量了,卸载这个例子程序,环境变量TestMinVar也会被删除。

Environment table 也是一个 formatted field,这也就是说环境变量的值可以是来自一个属性,另一个环境变量,或者是任何一个formatted 字符串,下面的例子就是把环境变量设置成INSTALLLOCATION:

<Environment Id="TestMinVar"
                         Action="set"
                         Part="all"
                         Name="MinEnvVar"
                         Permanent="no"
                         System="no"
                         Value="[INSTALLLOCATION]" />

下面这个例子是用新的值代替已经存在的值:

<Environment Id="TestMinVar"
                         Action="set"
                         Part="all"
                         Name="MinEnvVar"
                         Permanent="yes"
                         System="no"
                         Value="123" />

主要就是Permanent ="yes",下面的例子把Permanent="no", Part="last"表示把值附加到后面:

<Environment Id="TestMinVar"
                         Action="set"
                         Part="last"
                         Name="MinEnvVar"
                         Permanent="no"
                         System="no"
                         Value="456" />

本文来自合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

时间: 2024-07-28 22:44:03

WiX安装选项--环境变量的相关文章

《手机测试Robotium实战教程》—第2章2.3节Android SDK的安装及环境变量配置

2.3 Android SDK的安装及环境变量配置 进行Android开发或者自动化测试,Android SDK是必不可少的. 如果没有特别的要求,可以选择下载混合的下载包,里面包含Eclipse.ADT和Android SDK.本书是单独下载SDK安装程序.双击运行安装程序,安装完毕后,在安装目录下运行"SDK Manager.exe",在弹出的窗口中选中Tools文件夹,下载最新版本的Android SDK Tools.Android SDK Platform-tools和Andr

win7 64位系统JDK安装配置环境变量教程_java

由于重做系统,平时需要进行android类编译反编译工作,于是重新装了下JDK并把过程记录分享出来. 具体步骤 首先,下载JDK安装包,到官网http://www.oracle.com/technetwork/java/javase/downloads/index.html进行下载,点左边的Java Platform (JDK) 7u51进入下一个下载页面, 点左边的Accept License Agreement,接受许可协议,方能下载,由于我装的WIN7 64位系统,所以选对应的64位安装包

《手机测试Robotium实战教程》——第2章,第2.1节JDK安装及其环境变量配置

第2章 测试开发环境搭建 手机测试Robotium实战教程 2.1 JDK安装及其环境变量配置 因为要用到Java语言,所以JDK是首先需要安装的.可以通过下面的链接,选择对应平台的JDK版本进行下载. http://www.oracle.com/technetwork/java/javase/downloads/index.htm. 本书所有的例子选择在JDK 8平台下进行. 运行下载的JDK安装文件,根据提示完成安装.在安装完毕后,设置环境变量.设置环境变量的目的是可以在任意路径下执行jav

《手机测试Robotium实战教程》—第2章2.1节JDK安装及其环境变量配置

第2章 测试开发环境搭建 手机测试Robotium实战教程2.1 JDK安装及其环境变量配置 因为要用到Java语言,所以JDK是首先需要安装的.可以通过下面的链接,选择对应平台的JDK版本进行下载. 本书所有的例子选择在JDK 8平台下进行. 运行下载的JDK安装文件,根据提示完成安装.在安装完毕后,设置环境变量.设置环境变量的目的是可以在任意路径下执行javac/java等工具. (1)在计算机桌面选中计算机后单击鼠标右键,在弹出的菜单中选择"属性"项,打开"系统属性&q

JDK安装与环境变量配置

1  安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个 java文件夹中的不同文件夹中.(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错) 如下图所示 2 (1):安装jdk 随意选择目录 只需把默认安装目录 \java 之前的目录修改即可          (2):安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可          注:若无安装目录要求,可全默认设置

Maven安装及环境变量的配置

一.下载Maven 官网地址:http://maven.apache.org/ 二.安装Maven 1.配置maven环境变量 2.鼠标右击"我的电脑"或"我的计算机"‍图标,在弹出来的列表中选择"属性" 3.在弹出来的系统面板中点击左侧的"高级系统设置",进入"系统属性"面板. 4.点击"系统属性"面板右下角的"环境变量(N)...",弹出一个环境变量面板,如下图所

ant安装、环境变量配置及验证

一.安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant1.8.1)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包.将其解压到你的硬盘上,例如:C:\apache-ant-1.8.1. 二.配置环境变量 window中设置ant环境变量: ANT_HOME    C:/ apache-ant-1.8.1 path             C:/ apache-ant-1.8.1/bin classpath      C:/apac

WiX安装选项---开始菜单项

参考文档: How To: Create a Shortcut on the Start Menu,How To: Create an Uninstall Shortcut 制作的安装程序安装后,都要在开始菜单上生成一个应用程序的菜单,通常包括调用应用程序的快速入口和卸载应用程序项.下面取一个例子来看: <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.mi

WiX安装选项--注册程序集到GAC和VS的设计时环境

Visual Studio的设计时引用组件的窗口中看到的程序集的位置和程序集的运行时位置是不一样的,特别是在全局程序集缓存(GAC)中的程序集,通过WiX制作Winodws安装程序的时候需要处理这个区别. VS的设计时的添加引用窗口看到的程序集的位置来自注册表SOFTWARE\Microsoft.NETFramework\AssemblyFolders – 放在HKEY_LOCAL_MACHINE 下面就是针对所有的用户, 或者放在HKEY_CURRENT_USER 下面针对当前用户. WiX要