2

当我从 Visual Studio 2012 运行它时,我的应用程序运行良好。问题是当我尝试在 PC 上安装它时。在安装结束时,我不断收到下图中的错误。我检查并发现 KinectAudio10.dll 存在于该位置。该应用程序运行良好,仅在我需要播放声音的部分崩溃。我正在用 SoundPlayer.Play(); 任何想法可能是什么问题?我正在使用 InstallShield 制作安装包。谢谢你。

在此处输入图像描述

4

3 回答 3

0

将所有项目 Kinect.dll 属性Copy Local中的所有引用更改为false。这个对我有用。

于 2014-10-16T22:32:36.827 回答
0

由于您现在应该很明显的原因,自我注册不是最佳实践。依赖进程外代码引入了安装失败的可能性,并创建了 Windows Installer 不知道的注册表值,因此无法完全回滚或卸载。

出于测试目的,打开提升的命令提示符和 CD 到您的 SYSWOW64 目录。使用命令 RegSvr32.exe FILENAME.DLL 手动注册 DLL,然后再次测试您的代码。

如果这解决了问题,请将您的测试环境重置为干净状态并重新构建安装程序,而不使用自我注册。

为此,在 InstallShield 中找到具有该文件的组件并查找 Self Reg 复选框。禁用它。然后将 COM Extract at Build 选项设置为 true 并重新构建。例如构建日志,以获取提取和没有失败的证据。

在干净的 VM 上安装并测试您的应用程序。

于 2013-06-19T12:21:19.300 回答
-1

我有同样无聊的问题。它对我有用,只需将 KinectAudio10.dll 从 SysWOW64 移动到另一个文件夹。

我猜 InstallShield 在找不到 ddl 时什么也不做。我没有在我的应用程序中使用任何 kinect 的声音,所以我没有任何副作用。

于 2016-06-20T12:57:45.203 回答