如何将 RecipePropertyHandler 部署到非开发机器?

How to deploy RecipePropertyHandler to non development machine?

前段时间我成功编写、编译并安装了RecipePropertyHandler(https://msdn.microsoft.com/de-de/library/windows/desktop/dd940375.aspx)。 在我的开发机器上它运行顺利,我可以安装和卸载生成的 DLL,并且在资源管理器重新启动后,我立即看到新属性被填充。

它只需要一个简单的

regsvr32.exe RecipePropertyHandler.dll

如果我在不同的(非开发)机器上尝试相同的操作,regsvr32 命令会给我一个完全通用的错误消息(长文本,没有帮助)并拒绝安装 DLL:

我发现问题出在哪里了,其实是两件事我忘记了(只是在这里提一下,也许对某些人有帮助:-))

  1. 我总是必须 运行 从提升的提示符(管理员 DOS-Box)中执行命令。我有时会忘记这一点,这让事情变得非常混乱,因为错误不会提到访问权限的问题。

  2. (最重要的是!)我使用 VS2013 并使用 C++2013 编译,这意味着我必须在目标机器上安装 vcredist_x64.exe (D'哦!)。 上面提到的错误来自缺少 c++ 库。它与 64/32 位没有任何关系,尤其是与 regsvr32 没有任何关系:-)

所以我安装了它,现在它运行起来非常棒。我什至不需要 运行 prop.exe 工具和 .propdesc 文件,因为我删除了自定义 属性 并且只使用标准的(你真的应该这样做(不,真的! )).