【发布时间】:2017-03-09 03:33:52
【问题描述】:
我有一个 Installshield 项目 .ism,我希望能够通过命令行运行它。有一种方法可以通过 CommadnLine 使用 IsCmdBld.exe 生成新的产品代码
注意:不能使用其他构建软件
提前致谢
【问题讨论】:
我有一个 Installshield 项目 .ism,我希望能够通过命令行运行它。有一种方法可以通过 CommadnLine 使用 IsCmdBld.exe 生成新的产品代码
注意:不能使用其他构建软件
提前致谢
【问题讨论】:
正如@Steve 所说,您无法通过命令行生成新的产品代码,但您可以使用命令行设置新的产品代码。您需要的是使用 3rd 方应用程序(或使用自动化)生成随机 GUID,您可以在命令行中设置这个新的 GUID,如下所示...
IsCmdBld.exe -z "ProductCode={D1B1C3E2-AA6F-455C-8533-C642EED0512D}"
还有一件事我想提...我希望你明白,通过替换你的包的产品代码,它每次都会执行“重大”升级。这是你想做的吗?通常,开发人员会尽量避免对产品进行“重大”升级,并随着产品的发展进行小幅升级。
【讨论】:
(New-Guid).ToString("B").ToUpper()。
您不能通过命令行工具,但如果您有最新版本的 InstallShield(不确定添加了自动化可用性的版本),则可以通过自动化界面。
这是一个如何在 C# 中执行此操作的示例。
// You'll need to add a reference in your C# project
// for ISWiAuto19 (may also work with ISWiAuto16)
var is1 = new ISWiAuto19.ISWiProject();
is1.OpenProject("path to ism project file")
is1.ProductCode = Guid.NewGuid();
is1.SaveProject();
is1.CloseProject();
更多细节可以在这里找到: http://helpnet.installshield.com/installshield19helplib/helplibrary/IHelpAutoISWiProject.htm
【讨论】: