我使用 wixsharp 编写了一个 WIX 安装程序,它包装了使用批处理文件的旧式安装过程。当以非管理员身份运行 MSI 时,我会收到提升(UAC 对话框)的提示,但是批处理脚本是以非管理员身份运行的
var project = new Project(string.Format("App");
project.Actions = new[] { new PathFileAction(@"C:\build\build_script.bat", args[1], @"C:\build\", Return.check, When.After, Step.InstallExecute, Condition.NOT_Installed, Sequence.InstallExecuteSequence) };
project.UI = WUI.WixUI_InstallDir;
解决此问题的一种方法是以管理员身份启动命令提示符并使用 msiexec 运行 MSI - 这可行但非常笨拙。
如何PathFileAction
以管理员身份运行?