2013年的Visual Studio Installer项目 - 无法在Windows 8.1上卸载程序

时间:2014-08-15 07:38:21

标签: visual-studio-2013 registry windows-installer uninstall

我正在尝试使用2013年的Visual Studio扩展,它从Visual Studio 2008/2010重新创建内置安装程序功能:http://blogs.msdn.com/b/visualstudio/archive/2014/04/17/visual-studio-installer-projects-extension.aspx?CommentPosted=true&PageIndex=2#comments

它有效,允许我像以前一样编辑项目。右键单击安装项目时,它还具有安装和卸载命令。安装得很好。

但是当我尝试卸载时,我收到以下错误,然后卸载回滚:

Could not open key: HKEY_LOCAL_MACHINE32\SOFTWARE\Wow6432Node\Microsoft\
EAPSIMMethods\18\FastReauthContext.  Verify that you have sufficient 
access to that key, or contact your support personnel.

我没有对该注册表项做任何事情,谷歌似乎没有任何相关结果 - 至少在正常的前5页中没有。有谁知道是什么导致这个或如何解决它?

虽然我无法卸载,但我可以增加软件包的版本并允许它删除以前的安装并成功安装新版本(全部一次)。

我使用的是Windows 8.1 Pro 64位,项目编译为<AnyCPU>,安装程序配置为x86。

编辑我正在以管理员身份运行Visual Studio。从控制面板卸载时,我也在弹出的UAC对话框窗口中单击“允许”按钮。

我知道如何让自己访问注册表项(权限)。我想知道为什么此密钥正在尝试删除。我在几台机器上支持这个应用程序,我不想担心将来会记住卸载黑客。

编辑这似乎只是64x操作系统或Windows 8问题上的32x安装程序的问题。我能够使用相同的32x安装程序在32x Windows 7计算机上成功卸载该应用程序。

3 个答案:

答案 0 :(得分:1)

这一定是环境问题,钥匙与安装人员没有任何关系。 EAP-SIM是用于无线网络的认证协议。 FastReauthContext密钥几乎肯定是为了避免每次机器重新连接到网络时都必须提供用户名+密码。这使得注册表密钥内容当然非常敏感,它只能由使用系统帐户运行的服务读取。

所以,你的网络设置有些蠢蠢欲动。验证您是否可以成功重新连接到此类网络。如果您之前使用过VPN,请确保它再次处于活动状态。像这样的东西。首次安装应用时,使用可能与网络相关的任何内容更新您的问题。

答案 1 :(得分:0)

您在开发计算机上安装了未经测试的安装程序?从经验来讲,不要这样做! Snapshotted VM的价格便宜,可以免除这种痛苦。

Visual Studio部署项目(或现在称为VSI)因创建质量非常差的安装而闻名。这两者的结合使你成为今天的所在。

我需要查看完整的卸载日志和使用ORCA的MSI,以了解究竟发生了什么。此时可能需要MSI Zap和手动清理资源。

答案 2 :(得分:-1)

我有类似的问题,我发现这是由MSI试图删除注册表中的整个“ Software \ Microsoft”部分引起的。幸运的是,它遇到此错误并将所有内容回滚。 因此,解决方案如下:

  1. 由于在每次尝试卸载程序时都已安装程序,因此系统将从通常位于C:\ Windows \ Installer的缓存中运行msi。

  2. 在缓存中查找您的包。这是一篇可能对您有帮助的文章http://csi-windows.com/blog/all/27-csi-news-general/334-identifying-cached-msi-packages-in-cwindowsinstaller-without-opening-them

  3. 在Orca中打开包。您必须以管理员身份执行此操作。

  4. 转到注册表表,并以“ Software \ Microsoft”作为键查找记录。 “名称”列很可能包含“-”或“ *”值。这意味着在卸载过程中,MSI将尝试删除整个“ Software \ Microsoft”。

  5. 将“名称”值更改为空或“ +”,或者尝试将密钥更改为类似“ Microsoft”的名称。第二个选项将导致安装程序在卸载过程中找不到要删除的密钥,但是它将跳过此错误,并让您卸载程序。