【问题标题】:Visual Studio Deployment Project - CustomActionDataVisual Studio 部署项目 - CustomActionData
【发布时间】:2011-03-16 05:04:53
【问题描述】:
我在 VS 部署项目中使用 C++ DLL 函数作为自定义操作。我需要为此自定义操作设置一些输入数据。示例:c:\a.dll;c:\b.dll
看来我做不到。 MsiGetProperty 在自定义操作函数内不返回任何内容(或失败)。如果我有自定义操作数据为:“abcd”,则 MsiGetProperty 会正确获取数据。
如何根据需要发送数据。请帮忙。
谢谢,
希尔米。
【问题讨论】:
标签:
visual-studio-2008
deployment-project
【解决方案1】:
自定义操作是否安排为延迟?延迟的自定义操作将无法访问任何 MSI 表,只能访问少数 MSI 属性。
这个article 做得很好,解释了如何调用延迟的自定义操作并将数据传递给它。虽然它没有具体说明如何使用 VS 部署项目来执行此操作。
另外,您可能需要考虑使用WIX 而不是 VS 部署项目来创建 msi 包。学习曲线更高,但您可以更好地控制生成的 msi。