我正在运行假设在提供的 dll 中执行某些功能的自定义操作。这个函数连接到 sql db 并用返回做一些选择,但我看不到返回值。我怎样才能在 dll 中调试这个函数,或者检查它是否真的被执行了。
问问题
996 次
2 回答
1
我使用了 C++ 自定义操作 DLL,所以我不完全确定 C# 自定义操作 DLL 有何不同。但是,我通常使用 Ondrej 提到的方法:记录到 MSI 日志文件和/或暂停自定义操作执行的消息框,以便我可以通过 Visual Studio 附加到进程。
你熟悉这是怎么做的吗?
于 2013-06-25T17:18:51.830 回答
0
InstallShield 具有本地 SQL 脚本处理功能,可满足您的大部分需求。这将自动在 MSI 日志文件中为您提供大量日志记录。然而,返回结果集是它不做的一件事。
最好的办法是使用 Windows Installer XML (WiX) 部署工具基础 (DTF) 编写托管 C# 自定义操作。这会构建在 Windows Installer 中显示为 C++ 自定义操作的自定义操作,并且与 InstallShield 完全兼容。
在 DTF 自定义操作中,您可以使用 session.Log() 在 Windows Installer 日志文件中记录有用的调试信息。如果需要,您还可以将调试器附加到自定义操作并单步执行。有关详细信息,请参阅以下内容:
于 2013-06-27T19:47:52.227 回答