visual-studio - 内置到 MSI 中时如何从程序集中获取 PDB(符号)

标签 visual-studio windows-installer symbols

我有一个使用 Visual Studio 2008 创建的标准 MSI。

有什么方法可以让它复制放入 MSI 某处的确切 DLL 和 EXE 的符号,以便我可以使用它们从该 MSI 远程调试安装?

最佳答案

执行此操作的另一种方法是使用条件安装标志和公共(public)属性。

将 pdb 文件添加到 msi,同时在 msi 中创建一个新组件,并将 pdb 文件与该组件关联。

在 msi 中创建一个新的公共(public)属性,将其命名为 INSTALLDEBUGSYMBOLS。将其值设置为false。对新组件设置一个条件,使其仅在该属性设置为 true 时安装。这意味着在正常安装过程中,包含 pdb 文件的组件将被跳过。不过,您可以稍后重新运行 msi,并覆盖 INSTALLDEBUGSYMBOLS 标志的值,这意味着您的组件现在已安装(公共(public)属性可以在外部设置其值)。要覆盖该属性,您的命令行将如下所示:

MyInstaller.msi INSTALLDEBUGSYMBOLS=true

关于visual-studio - 内置到 MSI 中时如何从程序集中获取 PDB(符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019633/

相关文章:

wix - 如何调试用 Javascript 实现的 MSI 自定义操作?

.net - VS 2005 安装项目 : Deploy Many Projects With One MSI

c++ - C++ 中的链接错误 - 实现 indexList

linux - 如何从给定路径(包括子目录)递归加载所有符号文件?

c++ - .lib 链接其他 .libs

C# 安全异常

wix - 是否可以在 Wix 中将批处理文件作为二进制元素类型?

Xcode A+ 源代码控制符号

c++ - Visual Studio 2013 : How to open basic C file

c - __attribute __((constructor))在VC中是否等效?