我有一个Installshield项目.ism,我希望能够通过命令行运行它。有可能的方法由CommadnLine使用IsCmdBld.exe生成新的产品代码
注意:不能使用其他构建软件
提前致谢
答案 0 :(得分:3)
由于@Steve提到您无法通过命令行生成新的产品代码,但您可以使用命令行设置新的产品代码。您需要的是使用第三方应用程序(或使用自动化)生成随机GUID,您可以在命令行中设置此新GUID,如下所示...
IsCmdBld.exe -z "ProductCode={D1B1C3E2-AA6F-455C-8533-C642EED0512D}"
还有一件事我想提一下......我希望你明白,通过更换你的包裹的产品代码,它将会执行" major"每次升级。这是你想要做的吗?通常开发人员都试图避免使用#34; major"随着产品的发展,产品升级并进行小幅升级。
答案 1 :(得分: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