繁体   English   中英

需要在Program File文件夹中写入的自更新.NET客户端应用程序

[英]Self-Updating .NET client application which needs to write in the Program File folder

类似于: 如果路径受到保护,请求Windows Vista UAC提升?

我在c:\\ Program Files(Windows Vista)中安装了.NET客户端应用程序。 此应用程序应自行更新,但不会因为权限问题而更新。 自动更新程序应该只是替换几个程序集,但它们都位于c:\\ Program File下,应用程序抛出以下异常:

System.UnauthorizedAccessException:拒绝访问路径“C:\\ Program Files ...”。

我无法控制应用程序的安装位置和权限。 这有什么解决方法吗? 是否可以在几秒钟内请求管理员权限? 是否可以弹出UAC窗口? 我很确定有一个解决方法......否则,Firefox将如何更新自己?

在此先感谢您的帮助和想法!

你能使用Click Once部署方法吗? 我们将此用于内部应用程序,用户在发布新版本时没有权限问题。 系统会提示他们在启动应用程序时安装更新(如果存在新版本),并且安装顺利进行。

您无法在中途提升流程的权限,但您可以启动另一个具有更高权限的单独流程,以便为您完成工作。

让您的主应用程序将所有文件/安装详细信息放入一个低权限的临时位置。 准备好后,启动一个较小的应用程序,其唯一的工作是将这些文件复制到Program Files目录(并可能使用新的更新重新启动主应用程序)。 将该应用程序标记为需要复制到Program Files目录所需的权限或写入注册表(或其他任何需要的内容)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM