【问题标题】:InstallShield Basic MSI project generate New GUID by CommandLine IsCmdBld.exeInstallShield Basic MSI 项目通过命令行 IsCmdBld.exe 生成新的 GUID
【发布时间】:2017-03-09 03:33:52
【问题描述】:

我有一个 Installshield 项目 .ism,我希望能够通过命令行运行它。有一种方法可以通过 CommadnLine 使用 IsCmdBld.exe 生成新的产品代码

注意:不能使用其他构建软件

提前致谢

【问题讨论】:

    标签: automation installshield


    【解决方案1】:

    正如@Steve 所说,您无法通过命令行生成新的产品代码,但您可以使用命令行设置新的产品代码。您需要的是使用 3rd 方应用程序(或使用自动化)生成随机 GUID,您可以在命令行中设置这个新的 GUID,如下所示...

    IsCmdBld.exe -z "ProductCode={D1B1C3E2-AA6F-455C-8533-C642EED0512D}"
    

    还有一件事我想提...我希望你明白,通过替换你的包的产品代码,它每次都会执行“重大”升级。这是你想做的吗?通常,开发人员会尽量避免对产品进行“重大”升级,并随着产品的发展进行小幅升级。

    【讨论】:

    • 工作正常,答案不能涵盖我需要的所有内容,但值得投票。此外,我使用 PowerShell 动态生成 GUID 并执行其他任务
    • 要使用 PowerShell 以正确格式为产品代码生成 GUID,请在 PowerShell 中执行 (New-Guid).ToString("B").ToUpper()
    【解决方案2】:

    您不能通过命令行工具,但如果您有最新版本的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多