博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wix学习整理(5)——安装时填写注册表
阅读量:4951 次
发布时间:2019-06-12

本文共 1695 字,大约阅读时间需要 5 分钟。

一 Microsoft操作系统的注册表

什么是注册表?

注册表是Mircrosoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。详细介绍参考。

如何操作注册表?

通过工具Windows操作系统自带工具regedit.exe即可对注册表进行添加、删除、修改等操作。

注册表的五个分支

注册表有五种分支:HKMU、HKCR、HKCU、HKLM和HKU。下面对这五种注册表分支进行简单介绍,

HKMU全称HKEY_CURRENT_CONFIG,存储计算机当前的硬件配置信息。

HKCR全称HKEY_CLASSES_ROOT,存储Windows可识别的文档类型的详细列表,以及相关联的程序。

HKCU全称HKEY_CURRENT_USER,存储当前用户设置的信息。

HKLM全称HKEY_LOCAL_MACHINE,存储安装在计算机上的硬件和软件的信息。

HKU全称HKEY_USERS,存储使用本计算机的用户信息。

二 为HelloWorld案例添加注册表信息

对注册表有了基本的了解,下面我们通过为HelloWorld案例添加注册表信息来学习一下Wix中关于注册表的一些基础知识。

下面这个文件片段展示了如何填写两个注册实体,一个关联指定值而另一个关联默认值。

关于<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>中以便安装。

上面的这个文件片段显示,我们将注册实体所在的Component和HelloWorld.exe文件所属的Component放在同一个Feature中(当然你也可以放在不同的Feature中,这个得看你自己的意愿,也要看产品的逻辑)。

于是,我们的Wix源文件就完成了,下面是完成的Wix源文件。

Product.wxs

我们将该文件保存为Product.wxs,然后运行编译和链接命令,

candle Product.wxslight Product.wixobj –out HelloWorld.msi –ext "C:\Program Files\WiX Toolset v3.6\bin\WixUIExtension.dll"

就生成的了我们的安装包.msi文件。

三 验收我们的成果

双击我们生成的.msi文件,完成安装后,打开regedit.exe文件,然后在HKey_CURRENT_USER\Software\Microsoft\HelloWorld,我们就可以找到我们填写的注册键值对。 

在默认情况下,当我们下载掉HelloWorld时,我们创建的注册信息也将一并删除。

转载于:https://www.cnblogs.com/zhulinyixuan/archive/2013/03/27/2984882.html

你可能感兴趣的文章
【nginx】关于gzip压缩
查看>>
Spring Boot 邮件发送的 5 种姿势!
查看>>
ZOJ.3551.Bloodsucker(期望DP)
查看>>
BZOJ.3261.最大异或和(可持久化Trie)
查看>>
IMU数据积分获得当前位姿
查看>>
logging 日志模块 configparser 配置文件
查看>>
广播接收者案例_开机启动
查看>>
Swift版iOS游戏框架Sprite Kit基础教程下册
查看>>
Android 整合实现简单易用、功能强大的RecyclerView
查看>>
(转)25个必须记住的SSH命令
查看>>
禁用并删除 Wordpress 文章修订(revision)记录
查看>>
shell 函数
查看>>
layer iframe层的使用,传参
查看>>
Cocoapods
查看>>
[No0000C7]windows 10桌面切换快捷键,win10
查看>>
统一修改表单参数(表单提交的空字符串统一转null)
查看>>
《程序员修炼之道:从小工到专家》拔萃簿
查看>>
学习和推断
查看>>
LeetCode217存在重复元素
查看>>
远程连接postgres,出现server doesnt listen
查看>>