2012-10-25 110 views
0

您好我已经创建了一个使用WIX的MSI安装程序。我的自定义操作出现问题。我有一个自定义操作,它填充了一个文本框,它似乎只能在命令提示符下运行MSI时运行,而cmd以管理员身份运行。是否有连接,以及如何使用特权运行我的自定义操作。我的自定义操作在点击按钮时立即运行。由于具有权限的自定义操作

回答

3

填充文本框不应该要求任何特权,所以从你给的信息,这不应该发生。有可能它需要提升,比如说为了获取它放在框中的文本,这就是为什么它有问题。如果从升级的上下文启动.msi,则只会提升UI序列。延迟序列可以被提升,即使.msi不是,但它不会帮助您的用户界面。

+0

谢谢迈克尔,我会查看我的代码,看看我是否需要提升文本的位置。很好的解释。谢谢 –

1

下面是一些关于这个问题必读:

Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

我花了几个读去了解它。基本上,您需要在InstallInitialize和InstallFinalize之间对自定义操作进行排序,并在没有模拟的情况下为Deferred进行排序。如果您需要访问MSI会话,您可能还需要安排立即自定义操作。你

+0

嗨,感谢您的链接,很好阅读.. :)我意识到我发布了不正确的信息我的自定义操作实际上是一个按钮点击进度对话框之前。我有另一个类似的自定义操作,它似乎工作正常,只有这一个。 –

+0

这是一个始终立即执行的DoAction ControlEvent。正如MichaelU所说,这绝不需要许可。我不得不看看你的代码做什么来理解它失败的原因。 –

+0

谢谢克里斯托弗,我会查看我的代码并尝试检测它需要许可的位置。 –