我有一個Installshield項目.ism,我希望能夠通過命令行運行它。它的存在,使用IsCmdBld.exeInstallShield Basic MSI項目通過CommandLine生成新GUID IsCmdBld.exe
產生由CommadnLine新產品代碼的可能方式注:不能使用另一個構建軟件
在此先感謝
我有一個Installshield項目.ism,我希望能夠通過命令行運行它。它的存在,使用IsCmdBld.exeInstallShield Basic MSI項目通過CommandLine生成新GUID IsCmdBld.exe
產生由CommadnLine新產品代碼的可能方式注:不能使用另一個構建軟件
在此先感謝
由於@Steve何況你無法產生通過命令行新的產品代碼,但你可以設置命令行的新產品代碼。你需要的是產生與第三方應用程序隨機GUID(或使用自動化)和您可以在命令行設置這個新的GUID如下...
IsCmdBld.exe -z "ProductCode={D1B1C3E2-AA6F-455C-8533-C642EED0512D}"
然而,我想另一件事提...我希望你明白,通過替換你的軟件包的產品代碼,它會每次執行「主要」升級。這是你想要做的嗎?通常開發人員正試圖避免產品的「重大」升級,並隨着產品的發展進行小幅升級。
無法通過命令行工具,但是如果您有最新版本的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
工作正常,答案並不包括所有我需要但值得投票。另外,我使用PowerShell動態生成GUID並執行其他任務 –