2017-03-07 1 views

Répondre

2

Comme @ Steve précisons que vous ne pouvez pas générer un nouveau code de produit via la ligne de commande, mais ce que vous pouvez est réglé nouveau code de produit avec la ligne de commande. Qu'est-ce que vous avez besoin est de générer GUID aléatoire avec une application 3ème partie (ou utiliser l'automatisation) et vous pouvez définir ce nouveau GUID en ligne de commande suivre ...

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

Encore une autre chose que je voudrais mentionner ... J'espère que vous comprenez qu'en remplaçant le code produit de votre paquet, il effectuera une mise à jour "majeure" à chaque fois. Est-ce que c'est ce que tu veux faire? Habituellement, les développeurs essaient d'éviter les mises à niveau "majeures" des produits et font des mises à niveau mineures au fur et à mesure que les produits évoluent.

+0

Fonctionne bien, la réponse ne couvre pas tout ce dont j'avais besoin, mais vaut le vote. En outre, j'ai utilisé PowerShell pour générer dynamiquement le GUID et effectuer d'autres tâches –

2

Vous ne pouvez pas via l'outil de ligne de commande , mais vous pouvez via l'interface d'automatisation si vous avez une version récente de InstallShield (ne sais pas quelle version la disponibilité de l'automatisation a été ajoutée).

Voici un exemple de comment faire cela en 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(); 

Plus de détails peuvent être trouvés ici: http://helpnet.installshield.com/installshield19helplib/helplibrary/IHelpAutoISWiProject.htm