当我从Visual Studio 2012运行它时,我的应用程序工作正常。问题是当我尝试在PC上安装它时。我在安装结束时不断收到下图中的错误。我检查了KinectAudio10.dll在该位置。应用程序运行正常,只在我需要播放声音的部分崩溃。我正在用SoundPlayer.Play()播放声音;什么想法可能是一个问题?我正在使用InstallShield制作安装包。谢谢。
答案 0 :(得分:0)
自我注册不是最佳做法,原因现在应该是显而易见的。依赖于进程外代码会导致安装失败的可能性,并创建Windows Installer不知道的注册表值,因此无法完全回滚或卸载。
出于测试目的,打开提升的命令提示符并将CD打开到SYSWOW64目录。使用命令RegSvr32.exe FILENAME.DLL手动注册DLL,然后再次测试代码。
如果这样可以解决问题,请将测试环境重置为干净状态并重建安装程序,而不使用自行注册。
为此,在InstallShield中找到具有该文件的组件,并查找Self Reg复选框。禁用它。然后将Build Ext选项中的COM Extract设置为true并重建。示例提取提取证据和失败证据的构建日志。
在干净的VM上安装并测试您的应用程序。
答案 1 :(得分:0)
将所有项目Kinect.dll属性复制本地中的所有引用更改为 false 。它对我有用。
答案 2 :(得分:-1)
我有同样无聊的问题。 它只是将KinectAudio10.dll从SysWOW64移动到另一个文件夹。
我猜那个InstallShield什么时候找不到ddl它什么也没做。 我的应用程序中没有使用任何kinect的声音,所以我没有任何副作用。