gpt4 book ai didi

wix - 如何在 WiX 中读取自定义操作的可执行输出?

转载 作者:行者123 更新时间:2023-12-01 10:59:53 24 4
gpt4 key购买 nike

我正在 WiX 中制作 MSI 安装程序。在安装期间,我想从 custom action 运行可执行文件并获取其标准输出(不是返回码)以供以后在安装过程中使用(据说带有 Property 元素)。

如何在 WiX (3.5) 中实现它?

最佳答案

我将此代码用于类似的任务(它是一个 C# DTF 自定义操作):

// your process data
ProcessStartInfo processInfo = new ProcessStartInfo() {
CreateNoWindow = true,
LoadUserProfile = true,
UseShellExecute = false,
RedirectStandardOutput = true,
StandardOutputEncoding = Encoding.UTF8,
...
};

Process process = new Process();
process.StartInfo = processInfo;
process.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
{
if (!string.IsNullOrEmpty(e.Data) && session != null)
{
// HERE GOES THE TRICK!
Record record = new Record(1);
record.SetString(1, e.Data);
session.Message(InstallMessage.ActionData, record);
}
};

process.Start();
process.BeginOutputReadLine();
process.WaitForExit();

if (process.ExitCode != 0) {
throw new Exception("Execution failed (" + processInfo.FileName + " " + processInfo.Arguments + "). Code: " + process.ExitCode);
}

process.Close();

关于wix - 如何在 WiX 中读取自定义操作的可执行输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com