我们有两个install shield许可证-一个用于安装程序的开发人员,另一个用于CI服务器。
通常会出现另一个开发人员将项目DLL移动到另一个位置,从而破坏安装程序的情况。
我想知道是否有一个免费的工具,它可以让一个人对ISM文件进行小的修改。我说的只是很小的更改,比如修复DLL路径或完全删除DLL。这不是我的意图“欺骗”许可证。
谢谢。
发布于 2010-12-29 05:19:13
如果转到项目的属性,则可以选择以XML格式存储ism文件。(听起来您的项目已经以这种方式进行了配置。)如果是这样,那么XML文件的结构就很容易弄清楚了。
然后,可以使用任何文本编辑器或XML编辑器更新DLL的路径。
我不建议进行大的更改,但对于小的更改应该不是问题。
只需搜索DLL的名称即可。它将在一个XML标记中。您需要更改的源路径应该是该标记上的属性。
我在InstallScript和InstallScript MSI项目中都做到了这一点。如果您使用的是纯MSI项目,您的千禧年可能会有所不同。
发布于 2010-12-12 02:08:40
InstallShield项目(.ISM)是以可扩展标记语言格式( DTD )或Windows Installer二进制格式(实际上是向后拼写的MSI,模式是预编译格式)存储的,因此在不依赖InstallShield的情况下创建一些自动化来更新这些文件并不是不可能的。
您没有说明您正在使用的InstallShield的版本或版本,但是如果您有权获得任何独立的构建许可证,您可以将其放在CI服务器上,并将一个许可证释放给其他开发人员。此外,IDE和SAB提供了一个COM自动化接口,您可以使用该接口来执行各种有趣的自动化操作来解决此问题。
但我真的建议你做我做的事。使用Windows Installer XML将安装程序组件抽象为合并模块,然后将合并模块与InstallShield功能关联起来。这需要一个整体式安装程序项目,并将其打破以支持分布式开发。我甚至编写了一个名为IsWiX的自定义工具,它为您提供了一种类似InstallShield的体验来维护WiX模块。
发布于 2010-12-15 13:54:21
或者你可以看到.msi文件的内容,使用Orca工具修改.msi数据库的内容(这确实需要做一些细微的修改),这个工具将随安装程序一起提供。
为了改变它,你应该知道底层的MSI表。
https://stackoverflow.com/questions/4418029
复制相似问题