如何从NSIS到.NET获取错误消息

时间:2012-10-07 06:39:08

标签: c# .net nsis

我有一个运行NSIS文件并执行它们的.NET应用程序, 在Windows XP上我遇到了一个问题就是这个窗口,每次运行文件时都会出现这个问题

使用Windows 7变得更容易,因为如果.NET进程作为管理员运行,窗口将不会显示,但在XP中它是一个令人头痛的问题, 我只需要解决其中一个问题, 如果我可以阻止此窗口一直显示? 或者我可以从NSIS exe文件中读取它的输出,这样.NET就会发现存在问题。

我试过点击取消,它让.NE​​T抛出异常,这很好,我可以处理, 但是没有删除“保护我的电脑......”上的标记会导致这个大问题。

这是图片链接: https://docs.google.com/open?id=0B5MtsIuVfrsYT2F1OGZUdHdMSDg

enter image description here

1 个答案:

答案 0 :(得分:0)

问题在于runas动词, 我们可以删除它,如果它没有以管理员身份运行,我们应该结束该程序 我们可以使用此功能测试应用程序是否正在运行admin permessions

[DllImport("shell32.dll", SetLastError = True)]
return: MarshalAs(UnmanagedType.Bool)
static extern bool IsUserAnAdmin(void);

http://www.pinvoke.net/default.aspx/shell32.IsUserAnAdmin

的问候,