1)
安装卸载时进行日志记录
Wix
制作的
Installer
的调试很麻烦,没有直接的
Bug
工具,可以通过记录安装日志的方式进行间接调试。命令为
msiexec
/i package.msi /l log.txt
详细参考:
msiexec /Option <Required Parameter> [Optional Parameter]
安装选项
</package | /i> <Product.msi>
安装或配置产品
/a
<Product.msi>
管理安装
-
在网络上安装产品
/j<u|m> <Product.msi> [/t <Transform
List>] [/g <Language ID>]
播发产品
- m
播发到所有用户,
u
播发到当前用户
</uninstall | /x> <Product.msi |
ProductCode>
卸载产品
显示选项
/quiet
安静模式,无用户交互
/passive
无从参与模式
-
只显示进程栏
/q[n|b|r|f]
设置用户界面级别
n -
无用户界面
b
-
基本界面
r -
精简界面
f -
完整界面
(
默认值
)
/help
帮助信息
重新启动选项
/norestart
安装完成后不重新启动
/promptrestart
提示用户重新启动
(
如果必要
)
/forcerestart
安装后总是重新启动计算机
日志选项
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
i -
状态消息
w
-
非致命警告
e -
全部错误消息
a -
操作的启动
r
-
操作特定记录
u -
用户请求
c -
初始界面参数
m
-
内存不足或致命退出信息
o -
磁盘空间不足消息
p -
终端属性
v
-
详细输出
x -
额外调试信息
+ -
扩展到现有日志文件
! -
每一行刷新到日志
*
-
记录所有信息,除了
v
和
x
选项
/log
<LogFile>
与
/l*
<LogFile>
相同
更新选项
/update <Update1.msp>[;Update2.msp]
应用更新
/uninstall <PatchCodeGuid>[;Update2.msp] /package
<Product.msi | ProductCode>
删除产品的更新
修复选项
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi |
ProductCode>
修复产品
p -
仅当文件丢失时
o
-
如果文件丢失或安装了更旧的版本
(
默认值
)
e -
如果文件丢失或安装了相同或更旧的版本
d -
如果文件丢失或安装了不同版本
c -
如果文件丢失或较验和与计算的值不匹配
a -
强制重新安装所有文件
u -
所有必要的用户特定注册表项
(
默认值
)
m -
所有必要的计算机特定注册表项
(
默认值
)
s -
所有现有的快键方式
(
默认值
)
v -
从源运行并缓存本地数据包
设置公共属性
[PROPERTY=PropertyValue]
2)
安装默认位置的修改
安装包一般默认安装在系统盘的
Program Files
文件夹下,此文
件在
Wix
中为
ProgramFilesFolder
,使
用形式为:
<Directory
Id="ProgramFilesFolder"></Directory >
还有很多内置的文件夹描述属
性,比如桌面
——DesktopFolder
、开始菜单的程序
——ProgramMenuFolder
,这些都可以直接用。
有时候安装程序限定要装在某个盘
的根目录中,这时候可以用
WindowsVolume
来代替系统盘,但是使用方法上有一定的区别:
<SetDirectory Id="WINDOWSVOLUME"
Value="[WindowsVolume]"/>
<Directory
Id="WINDOWSVOLUME"></Directory>
不加上
SetDirectory
会报错,最好加
上。
要想使用自己定义的安装目录,
则要对
Wix
自带
的属性
WIXUI_INSTALLDIR
进行包装。
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />
自定义
CustomAction(
一
)
CustomAction
在
Wix
中扮演着很重要的角色,这里讲讲它的其中一个用途
——
根据条件设置属性的值。
例子:
<Property Id="IDEVC71" Value="not detected"/>
<Property
Id="VC71PATH">
<RegistrySearch Id="VC71" Type="raw"
Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\7.1"
Name="InstallDir"/>
</Property>
<CustomAction
Id="MyAction.SetVC71Property" Return="check" Property="IDEVC71"
Value="detected">VC71PATH</CustomAction>
用途:一旦在注册表中找到相关
的值,那么属性
IDEVC71
的值将被设为
detected
,否则为
not detected
3)
如何在安装时设置注册表和环境变量
设置注册表:
<RegistryValue Root="HKCU" Key="Software\Developer"
Name="installed" Type="integer" Value="1" KeyPath="yes"/>
设置环境变量:(这里将环境变量的设置作为一个
Component
)
<Component
Id="ProductEnvironment" Guid="" KeyPath="yes">
<Environment Id='UpdatePath' Name='PATH' Action='set' System='yes'
Part='first' Value='[INSTALLLOCATION]bin'/>
<Environment
Id='SetTclLibraryPath' Name='TCL_LIBRARY' Action='set' System='yes'
Part='all' Value='[INSTALLLOCATION]msys\lib'/>
</Component>
前者是添加到系统变量
PATH
中,后者是新建系统环境变量
TCL_LIBRARY
4)
自定义
CustomAction(
二
)
调用本机应用程序:
<Property Id="NOTEPAD">Notepad.exe</Property>
<CustomAction
Id="LaunchReadme" Property="NOTEPAD"
ExeCommand="[INSTALLLOCATION]README.txt" Return="asyncNoWait"/>
用途:调用
Notepad
程序(记事本)打开安装目录下的
README.txt
文件。
5)
INI
文件的操作
Wix
提供对标准
INI
文件的操作,包括新建、编辑等。
例子:
<IniFile Id="WriteIntoFile" Action="addLine" Key="InstallDir"
Name="Foobar.ini" Sections="Paths" Value="[INSTALLDIR]"/>
用途:在文件
Foobar.ini
文件中
Paths
段下添加一行
“InstallDir =
安装目录
”
。
Action
中的操作包括添加、删除、新建等。在实际编写代码时会有自动提示。
6)
Heat
的特殊用法
Heat
工具用于
harvest
文件或者文件夹,是比较基础的
Wix
工具,这里讲讲它的一个特殊用法:配合
candle
使用
var
传递参数。
例如:
heat.exe
dir VC80 -gg -nologo -ke -sfrag -template:fragment -dr INSTALLLOCATION
-cg VC80ComponentGroup -var var.VC80Dir -out build\VC80.wxs
用途:将文件夹
VC80
下的所有文件和文件夹打包进
VC80ComponentGroup
里,源文件根目录
SourceDir
用(
$var.VC80Dir
)代替。
编译的时候使用
candle
-dVC80Dir="VC80"
即可,这样就可以同时对不同文件夹下的
文件进行一次性处理。
-d
参数可以有多个,也可以在
light
的时候调用,尝试成功。
7)
Wix
自动化
Build
流程
heat
candle
light
目前可以考虑使用基本的
BAT
批处理命令进行自动化的
Build
过程,以后可以考虑引入
Build
系统。
8)
关于
FilesInUse
的使用
Wix
中自带了
FilesInUse
和
MsiRMFilesInUse2
个错误处理的对话框
一般不需要开发人员去处理,只需要在
Install
UI Sequence
前引用这两个对话框即可
<DialogRef Id = "FilesInUse">
这样卸载或者其他操作时,当前安
装的文件正在被使用时会出现提示框,要求用户选择操作
分享到:
相关推荐
Windows Installer XML(WiX)是一个开源工具集,用于创建Windows安装程序。它使用XML格式来定义安装包的组件,使得...在实际工作中,结合提供的`Wix使用整理.doc`文档,可以进一步学习和掌握WiX的具体用法和最佳实践。
WiX使用XML语法,可以创建完全定制化的安装程序,适合大型项目和企业级应用。 4. Electron Builder:对于基于Electron框架的跨平台桌面应用,Electron Builder是一个很好的选择。它可以生成Windows、macOS和Linux的...
2. **资源整理**:收集图片、音频、配置文件等资源,并放入指定目录。 3. **版本控制**:确保所有必要的文件都在版本控制系统中。 4. **依赖管理**:处理第三方库和框架,确保它们与项目一起打包。 5. **生成安装包*...
4. **插件应用**:介绍常用的NSIS插件及其使用方法,如InnoSetup对比、NSIS与WiX的区别等。 5. **问题解答**:收录了常见问题及解决方法,帮助用户在遇到困难时找到答案。 这些资源对于想要学习和掌握NSIS的人来说...
windwos下使用firebreath框架实现插件的整个过程文档整理。 文档包含: 1. firebreath---环境的搭建 2. firebreath---创建plugin插件 3. firebreath---在插件中实现功能 4. firebreath---插件的调试方法 5. ...
2. **整理驱动文件**:将驱动相关的所有文件,包括.sys、.inf、.dll等,整理到一个目录下。 3. **创建INF文件**:INF文件是驱动安装的关键,它包含了驱动的描述、安装路径、依赖项等信息。确保INF文件正确无误,...
8. **数据分析**:对于大型活动,可能会收集门票销售、参与者反馈等数据,IT人员需要使用Excel或数据分析工具(如Tableau、Power BI)进行数据整理和分析,以评估活动效果。 9. **网络安全**:在分享和存储敏感信息...
- WiX (Windows Installer XML):微软提供的XML格式的构建工具,用于创建Windows Installer MSI包,适合大型企业级应用。 - Advanced Installer:商业级打包工具,提供丰富的定制选项和自动化脚本支持。 - ...
4. **打包工具**:为了打包WPF应用,开发者通常会使用ClickOnce或WIX等工具。ClickOnce提供了一种简单的部署方式,用户只需点击即可安装,但对自定义需求的支持有限。相比之下,WiX允许创建高度定制化的安装程序,...
制作安装程序,你可以选择使用各种工具,如Inno Setup、NSIS (Nullsoft Scriptable Install System)、WiX(Windows Installer XML)等。这些工具提供了脚本化的界面,允许开发者自定义安装过程的每个细节。例如,...
在IT行业中,制作安装文件是软件开发流程中的一个重要环节,它能让用户轻松地在计算机上部署和使用软件。本文将详细讲解安装文件制作的相关知识点,包括安装文件的作用、制作工具的选择、基本步骤以及常见问题。 ...
注意,这种方法适用于小型项目,如果项目较大或有复杂的依赖关系,可能需要使用更专业的打包工具,如Inno Setup、Advanced Installer或WiX等,这些工具能够处理更复杂的情况,如注册COM组件、安装.NET Framework等。...
- **网站搭建**:使用WordPress、Wix等平台建立学生会官方网站,发布活动信息和重要通知。 - **移动应用**:开发手机应用程序,方便学生获取信息、参与投票或报名参加活动。 #### 6. **网络安全意识** - **培训与...
- **安装程序制作**:使用工具如WiX Toolset或Setup and Deployment Projects in Visual Studio来创建自定义安装程序,方便用户安装应用。 - **自动更新机制**:探讨如何实现应用程序的自动检查更新功能,保持应用...
4. **资源文件整理**:包含图标、帮助文档、许可协议等,这些是提升用户体验的重要组成部分。确保它们被正确地嵌入到安装包中。 5. **测试打包**:在不同的操作系统和硬件环境下进行测试,以确保打包后的程序可以在...
安装打包工具的主要任务是将源代码编译后的可执行文件、库文件、配置文件等资源整理成一个独立的安装包。这个过程通常包括以下几个步骤: 1. **资源收集**:收集程序运行所需的全部文件和资源,如DLL文件、配置文件...
例如,在您的案例中,“摄影快闪”可能是一个短暂的摄影活动,而“模板相册”则可能包含了一系列设计好的页面布局,用于展示快闪活动的照片,使得参与者可以快速地整理和分享他们的作品,无需从零开始设计每个页面。...
然而,在一些特定的企业或旧版应用环境中,ActiveX仍被广泛使用。 7. **打包和注册的自动化**:现代开发环境中,有多种工具可以帮助开发者自动化打包和注册过程,例如WiX Toolkit、NSIS(Nullsoft Scriptable ...
- **安装脚本**:创建安装包的第一步是编写安装脚本,这通常使用专门的打包工具完成,如NSIS(Nullsoft Scriptable Install System)、Inno Setup或WiX Toolset。这些脚本定义了安装过程中要执行的步骤,包括文件...
在完成任务的过程中,学生需要设计演示文稿的结构和风格,收集整理食品安全与营养知识,并制作图文并茂的幻灯片。此外,为提升观众观看体验,学生还需学习添加动画和过渡效果。最后,通过演示文稿的演讲与分享,学生...