我有一个C ++ Wix自定义操作,用于浏览本地计算机上的文件。当我在Windows Server 2003和Windows 7(我的机器)上运行安装程序时,它按预期工作。但是,当我在Windows Server 2008上运行安装程序时,自定义操作将失败。
我已经成功设置了MsiBreak环境变量,并且能够使用远程调试附加我的调试器。当我这样做时,自定义操作按预期工作。如果我在没有附加调试器的情况下再次尝试,则自定义操作线程崩溃而不显示文件打开对话框(下面的崩溃详细信息)。我尝试过使用公共文件对话框和公共项目对话框的自定义操作,并且两者都有相同的结果。
我所有其他自定义操作都能完美运行。有没有人对我该如何进行有任何想法?
谢谢!
Problem signature:
Problem Event Name: APPCRASH
Application Name: MsiExec.exe
Application Version: 5.0.7601.17514
Application Timestamp: 4ce792c4
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.18409
Fault Module Timestamp: 53159a86
Exception Code: 80000003
Exception Offset: 00013226
OS Version: 6.1.7601.2.1.0.272.7
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
答案 0 :(得分:0)
签入项目的属性页以确定线程设置。我不确定它到底在哪里,因为我没有Visual Studio可用,但我在网上发现了这张照片。寻找类似的东西。显然,为所有配置(调试/发布和x86和x64)设置:
另请参阅一些示例项目:http://www.codeproject.com/Articles/1747/MSI-Custom-Action-DLL