gpt4 book ai didi

c++ - 如何确定 services.msc 管理单元是否已加载到 mmc 控制台?

转载 作者:可可西里 更新时间:2023-11-01 09:38:11 24 4
gpt4 key购买 nike

我需要提示用户在程序卸载时关闭 services.msc 管理单元。我该怎么做?

最佳答案

您需要编写自定义操作来执行此操作。您可以使用 Process检查 services.msc 是否加载到 mmc 中。

  [CustomAction]
public static ActionResult CustomAction1(Session session)
{
foreach (Process getProcess in Process.GetProcesses())
{
if (getProcess.ProcessName.Contains("mmc"))
{
if (getProcess.MainWindowTitle == "Services")
{
session["SERVICES_MSC"] = "Running";
break;
}
}
}

return ActionResult.Success;
}

根据SERVICES_MSC 属性调用卸载中的自定义操作并停止卸载。

<Binary Id="Check_Services" SourceFile="..\TestProject\bin\Release\TestProject.CA.dll" />
<CustomAction Id="CHECK_SERVICES" BinaryKey="Check_Services" DllEntry="CustomAction1" Return="check" />

<CustomAction Id="STOP_INSTALLATION" Error="Services.msc is running.Please close that Window before uninstall the setup." />

在安装执行序列中调用自定义操作。

  <Custom Action="CHECK_SERVICES" After="InstallValidate">REMOVE ~= "ALL"</Custom>
<Custom Action="STOP_INSTALLATION" After="CHECK_SERVICES">(REMOVE ~= "ALL") AND SERVICES_MSC</Custom>

关于c++ - 如何确定 services.msc 管理单元是否已加载到 mmc 控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915503/

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