Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用Visual Studio集成的WiX托管自定义操作中没有调试信息_Windows_Visual Studio 2008_Installation_Wix_Custom Action - Fatal编程技术网

Windows 使用Visual Studio集成的WiX托管自定义操作中没有调试信息

Windows 使用Visual Studio集成的WiX托管自定义操作中没有调试信息,windows,visual-studio-2008,installation,wix,custom-action,Windows,Visual Studio 2008,Installation,Wix,Custom Action,我已经设法用C#创建了一个自定义操作,使用的是MakeSfxCA,它基本上是有效的 然而,有一些纠结需要调试来解决。(仅“printf调试”是不够的。) 但是,所有调试信息都将丢失。 从Visual Studio项目调用MakeSfxCA时,.pdb文件不会作为参数传递,因此创建的CA dll中不包含调试信息 如果我手动运行MakeSfxCA MakeSfxCA MyDLL.CA.dll SfxCa.dll MyDLL.dll MyDLL.pdb CustomAction.config 然后,

我已经设法用C#创建了一个自定义操作,使用的是
MakeSfxCA
,它基本上是有效的

然而,有一些纠结需要调试来解决。(仅“printf调试”是不够的。)

但是,所有调试信息都将丢失。
从Visual Studio项目调用MakeSfxCA时,.pdb文件不会作为参数传递,因此创建的CA dll中不包含调试信息

如果我手动运行
MakeSfxCA

MakeSfxCA MyDLL.CA.dll SfxCa.dll MyDLL.dll MyDLL.pdb CustomAction.config
然后,调试信息将包含在创建的自定义操作dll中

如何让WiX CA项目自动添加pdb信息


/Leif

我发现,如果我创建了一个C类型的项目#Custom Action project,那么它会神奇地工作

此外,我还可能尝试向我的项目中添加一个构建后事件。大致如下:

"C:\Program Files\Windows Installer XML v3\SDK\MakeSfxCA.exe"
      $(TargetDir)$(TargetName).CA.dll 
      "C:\Program Files\Windows Installer XML v3\SDK\x86\SfxCA.dll" 
      $(TargetDir)$(TargetName).dll 
      $(TargetDir)$(TargetName).pdb 
      $(TargetDir)Microsoft.Deployment.WindowsInstaller.dll
(不过,我还没有尝试过,因为我已经让它像上面那样工作了。)

/L