【发布时间】:2016-08-10 12:38:13
【问题描述】:
我已经为 C 驱动器中的传送文件创建了 wix 安装程序。当我运行 .msi 文件时,我尝试在文件传送之前调用一个自定义操作。在自定义操作中,我使用了以下代码。
自定义操作代码:
bool isElevated;
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
if (!isElevated)
{
DialogResult dialogResult = MessageBox.Show("CustomAction is not running admode , so please refer online ?", "Admin Alert ", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
Process.Start("Same Web site link");
Environment.Exit(0);
}
else if (dialogResult == DialogResult.No)
{
Environment.Exit(0);
}
}
以上自定义操作工作正常。如果自定义操作未成功运行管理模式,则会显示消息框。如果我在消息框中未选择任何选项 wix 安装程序已关闭,但文件已发送。所以请告诉我,如何使用 C# 停止 wix 安装程序?
【问题讨论】:
-
您何时安排此自定义操作?
-
嗨,Brian,我在 msi 安装程序之前安排了上面的自定义操作。示例:
未安装