installation - 使用 wix 安装程序执行命令
问题描述
在我的 Product.wsx 中,我调用了一个使用 power shell 执行的 bat 文件。批处理文件正在卸载一个 .exe(不同的应用程序)并处理 C:\temp 文件夹中的几个文件夹。
在网络可能的地方,我读到从 WIX 调用 BAT 文件不好或不可取。有没有其他方法可以在不调用bat文件的情况下做同样的事情
<SetProperty Id="InvokeTestPS1"
Before="InvokeTestPS1"
Sequence="execute"
Value =""[POWERSHELLEXE]" -Version 2.0 -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '[APPLICATIONROOTDIRECTORY]Upgrade\upgradeMentor3_5.bat' ; exit $$($Error.Count)"" />
<CustomAction Id="InvokeTestPS1"
BinaryKey="WixCA"
DllEntry="CAQuietExec64"
Execute="deferred"
Return="check"
Impersonate="no" />
<InstallExecuteSequence>
<Custom Action="InvokeTestPS1" After="InstallFiles">
<![CDATA[NOT Installed]]>
</Custom>
解决方案
对于您要复制的文件夹,如果您事先知道每个文件夹的名称,并且无需担心意外的子文件夹,则可以使用CopyFile
要复制的每个文件夹。将它们直接放在Component
. 如果需要复制的内容有更多可变性,您可以编写一个即时自定义操作,MoveFile
根据您发现需要复制的文件/文件夹将临时行添加到表中(并根据需要将临时行添加到Directory
表中)。
对于卸载程序,您可以调用它而不是文件powershell
或.bat
文件。
推荐阅读
- reactjs - 使用 \public 文件夹中的强制内容作为反应中的 iframe 源
- python - python中的键盘模块对多处理做出奇怪的反应
- css - 隐藏 Blazor Progressive Web 应用的窗口标题/标题栏
- r - R将单元格的值转换为等效的行数以进行相关
- python - Plotly, streamlit: how to keep the fullscreen view
- ruby-on-rails - Bundler 找不到 gem "actionpack" 的兼容版本,已安装兼容的 actionpack
- html - 垂直反转按钮的阴影
- python - 更新函数内的局部变量无法正常工作
- php - 处理上传的图像
- python - 没有错误,但对于我知道有的标签,我得到“没有找到”