当我从 Visual Studio 2012 运行我的应用程序时它工作正常。问题是当我尝试在 PC 上安装它时。在安装结束时,我不断收到下图中的错误。我检查过 KinectAudio10.dll 存在于该位置。该应用程序运行良好,仅在我需要播放声音的部分崩溃。我正在用 SoundPlayer.Play() 播放声音;任何想法可能是什么问题?我正在使用 InstallShield 制作安装包。谢谢。
最佳答案
由于您现在应该显而易见的原因,自助注册不是最佳做法。依赖进程外代码会引入安装失败的可能性,并创建 Windows Installer 不知道的注册表值,因此无法回滚或彻底卸载。
出于测试目的,打开提升的命令提示符和 CD 到您的 SYSWOW64 目录。使用命令 RegSvr32.exe FILENAME.DLL 手动注册 DLL,然后再次测试您的代码。
如果这解决了问题,请将您的测试环境重置为干净状态并在不使用自注册的情况下重建您的安装程序。
为此,在 InstallShield 中找到具有该文件的组件并查找 Self Reg 复选框。禁用它。然后将 COM Extract at Build 选项设置为 true 并重建。示例构建日志以获取提取和未失败的证据。
在干净的 VM 上安装并测试您的应用程序。
关于c# - 错误 1904 - 模块 KinectAudio10.dll 注册失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184404/