c# - InstallShield - 如何编写自定义操作函数
问题描述
我正在尝试使用 InstallShield 创建安装程序,并且需要在安装过程中执行一些代码。早些时候,我使用 VS 2015 安装扩展来创建 MSI,但由于 MSI 中的一些高级需求,我们计划迁移到 InstallShield,并且我们在ServiceInstall 的 onBeforeInstall / onAfterInstall中执行的代码也需要执行,根据我的理解,我们需要创建 CustomActions 并为此要求创建函数并将它们放入 dll 文件中。
我试图查看 InstallShield 的文档,但找不到可以开始编写此类代码的好方法或示例代码。我更喜欢用 C# 编写,如果有人可以指导我编写函数以附加自定义操作,那将会很有帮助。
解决方案
帮助材料: InstallShield 附带的文档应该有很好的信息来开始?安装脚本参考。还要检查 Program Files 下的 Installshield 安装文件夹——我认为那里有一些示例。
Installsite.org:安装顾问 Stefan Kruger 的installsite.org有许多自定义操作的编码示例。
Github.com:您可以搜索github.com以查找几乎任何东西的样本。MsiGetProperty 的示例搜索(大多数安装脚本使用)。
自定义操作:托管代码(Dot Net)在大规模包分发方面存在许多技术问题。建议您使用 Installshield 的专有Installscript语言或直接使用C++(最小依赖性,尽可能使用静态链接)。我对托管代码问题没有很好的总结,只有前段时间写的这个半疯狂的答案。
推荐阅读
- javascript - 计时器未按预期运行
- javascript - 如何为 API res 制作缓存?(反应.js)
- docker - 无法在模式注册表 docker 和 kafka 代理之间建立连接
- angular - Angular:子路由未正确更新
- sql - 如何在 SQL Server 中查询超过特定计数的连续值?
- javascript - 如何通过列表创建get调用(axios)循环并返回所有答案
- python - 如何从代码中调用自定义 manage.py 命令
- c++ - 为什么我的小写字母 Vigenere 加密功能无法正常工作?
- reactjs - 使用 React 上下文 API 进行 Firebase 身份验证,在 localStorage 中跟踪用户 ID
- r - Stringr - 从连字符的两侧删除前导零