2

我有一个要求,我必须将 3 个参数传递给 installshield 中托管代码自定义操作的 c# 代码。不能给代码。即使是基本的方法,也请有人帮助我。提前致谢。

4

3 回答 3

2

Windows Installer XML (WiX) 部署工具基础 (DTF) 提供了一个框架,用于为 Windows Installer 编写托管代码自定义操作。编译后的 DLL 显示为标准 Win32 DLL,具有类型 1 导出函数,并且与 InstallShield 完全兼容。

如果这是一个即时的自定义操作,您只需说:

字符串 someProperty = session["SOMEPROPERTY"];

如果它是延迟自定义操作,则使用即时自定义操作来构建 CustomActionData 类,然后将其序列化为字符串以传递给延迟自定义操作,然后将其反序列化回 CustomActionData 类。(基本上是一个属性/值字典)。

要求的背景阅读是:

Windows Installer 中自定义操作的安装阶段和脚本内执行选项

DTF 更好的原因

于 2013-08-20T13:54:38.720 回答
2

由于您提到了自定义操作,请参阅为程序集自定义操作中的托管方法指定签名。指定需要传递给函数中参数的值或存储值的属性。CustomActionData请注意,如果这是一个延迟的自定义操作,您将需要按照第三段“为延迟、提交或回滚自定义操作使用自定义方法签名”中所述传递它们。

于 2013-08-20T12:15:49.857 回答
0

看看DotNetCoCreateObject。另请参阅此博客文章InstallShield、.NET DLL 和 DotNetCoCreateObject()

于 2013-08-20T12:07:56.067 回答