【问题标题】:How can I get UAC elevation with custom action exe?如何使用自定义操作 exe 获得 UAC 提升?
【发布时间】:2013-06-21 19:44:25
【问题描述】:

我正在尝试将自定义操作添加到安装程序的末尾,但它需要提升。

我使用的是 Installshield Limited Edition,我的自定义操作是用 C# 编写的。

自定义操作在没有提升时执行,但是一旦我将提升添加到清单中,我就会收到错误并且 msi 回滚。

我曾希望 exe 会从安装程序继承海拔,但事实并非如此。在此版本的 Installshield 中,我无法将 dll 用于自定义操作。

有什么想法吗?

谢谢, 艾伦

【问题讨论】:

    标签: c# visual-studio installshield custom-action elevation


    【解决方案1】:

    实际上,在 InstallShield LE 中有多种使用 DLL CA 的方法。查看我的“Augmenting InstallShield”博客文章,例如:

    Augmenting InstallShield using Windows Installer XML - Certificates

    概念是您使用 Windows Installer XML (WiX) 部署工具基础 (DTF) 来创作 C# 托管自定义操作。 (在此处查看更多信息:Deployment Tools Foundation (DTF) Managed Custom Actions)然后您创建一个合并模块来封装此自定义操作及其排序信息。然后最后在 InstallShield 中使用这个合并模块。

    【讨论】:

    • 感谢您的回答,了解这种结合 InstallShield 和 WiX 的方式非常有用。我已经尝试过了,它看起来很有希望,但不幸的是,海拔没有转移到我的自定义操作中,我遇到了同样的问题。我想我需要回到绘图板上。
    • 如果您在 InstallInitialize 和 InstallFinalize 之间的安装执行序列中安排自定义操作作为延迟使用无模拟选项(系统上下文),它将被提升。请参阅:installsite.org/pages/en/isnews/200108 了解更多信息。
    • 这样就可以了。非常感谢您的帮助。
    猜你喜欢
    • 2011-05-19
    • 2011-03-17
    • 1970-01-01
    • 2012-06-16
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2010-09-12
    相关资源
    最近更新 更多