我为Visual Studio开发了VSPackage
,需要将一些文件复制到 Visual Studio的安装路径。
如果我以管理员身份运行Visual Studio(使用我安装的VSPackage时)。它可以复制文件,没有错误。
当我正常运行Visual Studio时,出现Access to the path ... is denied
错误。
问题
即使以普通用户身份运行Visual Studio,如何将VSPackage
授予管理员权限。
或者至少我如何调用这样的东西:
答案 0 :(得分:1)
您的包是一个.dll(加载在进程上),而不是.exe(进程),因此它不能具有与其进程(Visual Studio,即devenv.exe)不同的权限。您的软件包可以做的是启动具有管理员权限的其他进程。看我的文章:
HOWTO: Launch a process with admin rights from a Visual Studio add-in on Windows Vista or higher.
也就是说,将文件复制到VS安装路径是一种非常错误的方法。这应该通过设置包(.msi)来完成,而不是通过你的包。
一方面,如果安装后由软件包完成,用户可以拒绝提升提示,并且不会复制文件,安装也不完整。没有这些文件,您的包可以正常运行吗?
另一方面,如果用户拒绝升级提示来安装包,则根本不会安装它,这是一种更干净的方法。