0

在 Wix 中安装 .msi 后,我需要运行一个 .bat 文件。我从 Wix 安装项目创建了这个 .msi。

在 .bat 文件中,我编写了脚本来编辑 etc/hosts 文件并根据我的应用程序需要将一些字体安装到 Windows 机器中。

请帮我解决我的问题。谢谢。

4

2 回答 2

0

可以运行 .BAT 文件,但这实际上是为了做一些事情,比如设置一个 java 类路径并启动一个 java 应用程序。不要对机器进行额外的更改。

您的设计存在几个问题。

1) UI 序列不应以提升的权限运行,因此 .BAT 将无权执行您想要执行的操作

2) 更改是在安装事务之外进行的,因此不支持回滚或卸载

3) 更改是由不支持日志记录或错误处理的脚本进行的。会很脆弱。

4) 因为更改没有在 Windows Intaller 表中表达,所以您失去了 MSI 提供的表现力和可转换性。

.BAT 应该被重构并可能被淘汰。“我如何 xyz?” 它所做的每一件事(安装字体,修改文件......)的问题都应该是他们自己的 StackOverflow 问题。

于 2015-05-15T11:24:42.623 回答
0
    <CustomAction Id="RunBatch"                 
                  Execute="deferred" 
                  Return="ignore"             
                  Impersonate="no"              
                  ExeCommand="&quot;[SystemFolder]cmd.exe&quot; /C &quot;[INSTALLDIR]mybatchfile.bat&quot;"
                  Directory="INSTALLDIR"/>  

<InstallExecuteSequence>
  <Custom Action="RunBatch" Before="InstallFinalize"/>
</InstallExecuteSequence>  
于 2018-11-23T15:19:57.293 回答