正常非管理员帐户的ClickOnce卸载

时间:2017-01-16 06:19:08

标签: clickonce uninstall user-profile

我的Win 10 Pro计算机上有2个帐户。一个有和另一个默认没有管理员权限。 我可以使用非管理员帐户安装我使用Visual Studio 2016创建的ClickOnce应用程序。这样做。

但是当我尝试从非管理员权限帐户卸载应用程序时,系统会提示我切换到管理员帐户。但是,管理员帐户不知道此应用程序,因此在尝试卸载应用程序时崩溃时会出现一些ARP错误。

抓住22!

那么我该如何解决这个问题呢? Visual Studio中是否有一些控制它的开关?

3 个答案:

答案 0 :(得分:5)

解决方案是使用控制面板来卸载应用。

在删除我作为非管理员用户安装的应用程序时,我没有任何问题

答案 1 :(得分:1)

解决方法是直接运行卸载程序,而不是通过Win10中的添加或删除程序

您可以在注册表项HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下找到卸载程序命令,搜索应用程序的密钥,并获取UninstallString的值。 如果直接执行该命令,则卸载程序将按预期工作,而无需用户权限提升。

您必须执行的命令如下所示:

rundll32.exe dfshim.dll,ShArpMaintain MyApp.application, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil

我确定这是某种Windows 10问题,因为它在Windows 7上运行良好。

答案 2 :(得分:1)

(在2年后)经历了同样的问题,并且没有注意到“控制面板”和“设置”之间的区别,我想详细说明一下Peter Vogt自己的答案:

要在Windows 10上卸载没有管理员权限的ClickOnce应用程序,请使用旧式应用程序列表,该列表现在标记为程序和功能。不幸的是,不能直接从开始菜单中搜索它,但可以在(至少)两个地方找到它:

  • 直接从旧版控制面板中显示为“卸载程序”。
  • 在新的“设置”->“应用程序”屏幕(“应用程序和功能”)中,使用右侧的“程序和功能”链接。