[英]How to force my project in Visual Studio 2013 to always run as Administrator?
[英]Visual Studio Setup Project: How Can I force an Uninstaller to run in Administrator mode?
我已经创建了一个Visual Studio安装项目,我为我的主应用程序创建了一个安装程序类。 在此安装程序类中,我重写了卸载程序功能以清除由我的应用程序创建的额外文件夹。 这在Windows XP中运行良好,但在Windows 7中没有,因为我认为它与UAC有关。 如何强制卸载程序提升权限?
我在另一篇文章中问过这个问题,但我并不清楚我的意图。
我找到了这些链接,但我不知道它是否相关:
http://msdn.microsoft.com/en-us/library/aa370852.aspx
http://msdn.microsoft.com/en-us/library/aa370134%28v=VS.85%29.aspx
我发现了Orca ,它可用于修改msi安装应用程序属性,但没有适当的文档,(或示例/教程)。 以下是我为解决此问题而采取的步骤:
希望这有助于某人/
Vista的UAC类似于window 7的,所以你应该在这里找到一些帮助:
http://www.professionalvisualstudio.com/blog/2007/10/05/enabling-your-application-for-uac-on-vista/
此编写详细说明了如何调整您的应用程序以运行而不会遇到UAC问题。
它允许您向解决方案添加清单文件,以确保它以特定级别的特权运行。
我的假设是您创建了一个新的自定义操作,该操作在卸载MSI包时执行。 要在安装或卸载时提升自定义操作,必须将其延迟 ,并且必须使用noimpersonation标记进行标记。
在WiX中,您可以设置CustomAction
元素的这些属性:
Execute="deferred"
和 Impersonate="no"
。 就Windows Installer而言,您的自定义操作必须设置这些位: msidbCustomActionTypeInScript
+ msidbCustomActionTypeNoImpersonate
; 请参阅自定义操作脚本内执行选项 。
将这些属性添加到卸载过程:
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.