2017-03-07 66 views

回答

2

由於@Steve何況你無法產生通過命令行新的產品代碼,但你可以設置命令行的新產品代碼。你需要的是產生與第三方應用程序隨機GUID(或使用自動化)和您可以在命令行設置這個新的GUID如下...

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

然而,我想另一件事提...我希望你明白,通過替換你的軟件包的產品代碼,它會每次執行「主要」升級。這是你想要做的嗎?通常開發人員正試圖避免產品的「重大」升級,並隨着產品的發展進行小幅升級。

+0

工作正常,答案並不包括所有我需要但值得投票。另外,我使用PowerShell動態生成GUID並執行其他任務 –

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

相關問題