Is posible to deploy desktop application(wpf o other) using clickonce and let users to decide if they will let the app to to elevate?
3 回答
刚刚由 SeanBaker http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/2dfd23ee-ebfa-412c-a5dd-761ec1b55683/找到并回答。似乎通过设计 clickonce 部署的应用程序只能通过附加进程(asInvoker 执行级别)来提升。
ClickOnce 与使用 Windows 安装程序 (msi) 安装不同,因为该操作不仅受用户权限限制,而且是内置的。
它们之间有一个比较,请参阅
- http://msdn.microsoft.com/en-us/library/e2444w33.aspx
- http://msdn.microsoft.com/en-us/library/ms973805.aspx
如果您不需要访问 reg 密钥或驱动程序等,那没关系,否则就可以了。
PS当用户安装/运行clickonce时从内存中提示他们无论如何他们都会允许它但不是管理权限作为上述原因。
我也遇到过这个问题。经过多次尝试,我找到了一个非常简单的解决方案。我创建了一个快捷方式,它通过 cmd.exe 调用 clickonce 快捷方式。通过这个快捷方式“以管理员身份运行”上下文菜单变得可用,或者您可以默认调整管理员权限。
您只需要创建一个标准快捷方式并将其粘贴到目标文本框中,并插入您的应用程序路径:
%SYSTEMROOT%\System32\cmd.exe /C "[你的 "*.appref-ms" 文件的路径]"
好处:您可以以管理员或普通用户的身份运行您的应用程序。您仍然可以享受 clickonce 安装的所有好处。
ps:最灵活的解决方案是当您参考应用程序的开始菜单快捷方式时。
如果 clickonce 安装程序也将此快捷方式的副本复制到应用程序快捷方式旁边的开始菜单中,那就更好了。我很感兴趣这是怎么可能的。