2009-11-10 53 views
2

我最近重新安装了我的开发计算机,并从32位Windows Vista迁移到了64位Windows 7.我运行的是VS2008。Visual Studio注册表捕获实用程序遇到问题

我的一些.NET应用程序仍然使用J#,这会导致问题。该方案仍然运行,但是当我想部署它(我使用一个安装项目创建的.msi),我得到这个错误:

“Visual Studio中的注册表捕获实用工具遇到了问题”

我该如何解决这个问题? 与其他程序(纯粹用C#编写的程序)不会发生此错误。

回答

8

是的,这是一个已知的Win7和VS2008的bug,用于创建一个暴露COM对象的安装程序。

Here is the workaround

感谢@RogerFraser为尖端,因为我是有同样的问题

为了解决。

  1. 找到这里regcap.exe:C:\ Program Files文件\微软的Visual Studio 9.0 \ Common7 \工具\部署
  2. 点击右键,选择属性。
  3. 选择兼容性选项卡
  4. 复选框以兼容模式运行此程序。
  5. 在操作系统下拉列表中选择Windows Vista SP2。
  6. 单击确定并重新编译。

HTH。

+0

我想你不应该相信你在互联网上阅读的所有内容。这并不妨碍我解决问题。 – Noam 2009-11-18 14:39:59

+0

它为我做了。谢谢。 – DanielR 2009-11-23 08:49:07

+0

为我工作......谢谢! – 2010-06-22 20:32:30

0

不幸的是,它并没有为我工作,仍然得到同样的错误。使用 Windows 7企业版,64位。

这是错误的详细信息(仅德语,不好意思):

Problemereignisname: BEX 
    Anwendungsname: REGCAP.EXE 
    Anwendungsversion: 9.0.21022.8 
    Anwendungszeitstempel: 47316c84 
    Fehlermodulname: MSVCR90.dll 
    Fehlermodulversion: 9.0.30729.4926 
    Fehlermodulzeitstempel: 4a1743c1 
    Ausnahmeoffset: 0003689c 
    Ausnahmecode: c0000417 
    Ausnahmedaten: 00000000 
    Betriebsystemversion: 6.1.7600.2.0.0.256.4 
    Gebietsschema-ID: 3079 
    Zusatzinformation 1: 0a73 
    Zusatzinformation 2: 0a7372810d093ef4e8ab14e85634e08a 
    Zusatzinformation 3: 6150 
    Zusatzinformation 4: 6150f9546d0a47d70659c34cf83b2016 
3

这并没有为我工作,直到我碰到this blog post哪儿来的海报看了看调试信息,发现与长路径的一个缓冲区溢出错误。我将解决方案放到C:\ temp中,然后按照Noam和Kris发布的步骤进行编译。这是在Windows 7 x64上从VS2005升级到VS2010的项目。

+0

我发现这对Win7 x64上的VS2005很有用:https://connect.microsoft.com/VisualStudio/feedback/details/466157/registry-capture-utility-win-7-rc1?wa=wsignin1.0 – winwaed 2010-12-03 01:15:43