2016-07-05 4 views
0

Gibt es eine Möglichkeit, wie Daten in einem bereits von Installshield erstellten Setup hinzugefügt werden können?Produktschlüssel in bereits installiertes installShield setup.exe hinzufügen

Was ich brauche, ist das Hinzufügen verschiedener Produktschlüssel für eine gleiche ausführbare Datei, ohne dass für jeden Produktschlüssel eine separate Kopie erstellt werden muss.

Gibt es eine Möglichkeit, dies mit Installshield zu erreichen?

+0

Es gibt Transformationen, aber ob Sie sie realistisch im Handumdrehen generieren können, hängt davon ab, ob Sie Ihre Pakete signieren. Bist du? –

+0

Nein. Können Sie weitere Informationen zum Thema bereitstellen? Ich habe eine Recherche gemacht, aber nur das Tool für MSI-Installationen namens Orca gefunden. –

+0

InstallShield (mindestens Professional/Premier Editionen) kann Transformationen erstellen. Siehe Datei Neu. Aber wichtiger, was sollen diese Produktschlüssel ändern? Wird nur ein Wert für einen Registrierungsschlüssel aufgezeichnet? Verhindert es, dass das Programm funktioniert, bis ein gültiges Programm vom Endbenutzer bereitgestellt wird? Etwas anderes? –

Antwort

1

Da Sie eine InstallShield setup.exe verwenden, ist der einfachste Weg, auch das Tool setupini.exe zu verwenden (in einigen früheren Versionen von InstallShield war dies ein separates "nicht unterstütztes" Tool und Sie können Downloads in unserem KB-System finden). Sie könnten dies auf ähnliche Weise wie in dem Artikel verwenden, um die Befehlszeile zu ändern, die an das MSI-Paket übergeben wird, um eine Eigenschaft einzuschließen, die den Schlüssel enthält. Mit Hilfe einer Eigenschaft namens PRODUCTKEY würde es so aussehen:

SetupIni.exe "<path to>\MySetup.exe" Startup CmdLine PRODUCTKEY="12-34-56" 

Für diese sinnvoll sein, würden Sie etwas im Installer müssen enthalten, die diese Eigenschaft verwendet. Der einfachste kann ein Registrierungsschlüssel sein, dessen Wert (oder Wertdaten) einen Verweis auf die Eigenschaft PRODUCTKEY enthält. Dargestellt als eine REG-Datei, die wie folgt aussehen könnte:

[HKEY_LOCAL_MACHINE\Software\My Company Name\My Product Name\Version] 
"ProductKey"="[PRODUCTKEY]" 

Beachten Sie, dass PRODUCTKEY ein öffentliches Eigentum sein sollte (der Name enthält keine Kleinbuchstaben), und in der SecureCustomProperties Eigenschaft aufgeführt. Beachten Sie auch, dass dies eher beratend als sicher betrachtet werden sollte: Wenn Sie beispielsweise Ihr Produkt lizenzieren möchten, indem Sie den Kunden auffordern, einen übereinstimmenden Code einzugeben, tun Sie dies nicht. Dieser Ansatz macht den Schlüssel für Kunden verfügbar, die über das Know-how verfügen, die Installation zu protokollieren oder Befehlszeilen mit Task-Manager zu finden.

Wenn das Festlegen einer Eigenschaft für Ihre Anforderungen nicht ausreicht, können Sie auch creating a transform in Erwägung ziehen und die Konfiguration so konfigurieren, dass sie automatisch mithilfe von setupini.exe angewendet wird. Sie haben aber auch das Problem, die Transformation an den Kunden zu senden Wahrscheinlich lädt er heute nur eine einzige Datei herunter, was zwei Dateien erfordern würde.

+0

Ich habe verstanden, wie das funktionieren soll. InstallShield erlaubt es mir jedoch nicht, einen neuen Registrierungsschlüssel in der Registrierungsansicht zu erstellen. Auf dem "Zielrechner" wird bei Rechtsklick kein Kontextmenü angezeigt. Leider benutze ich in diesem Moment InstallShield 10.5 Premier Edition. Können Sie mir mit diesem Problem helfen? –

+0

Keine Ahnung, warum das nicht funktionieren würde (sind Sie mit der rechten Maustaste an der richtigen Stelle?), Aber Sie sollten in der Lage sein, den gleichen Effekt zu erzielen, indem Sie den direkten Editor verwenden. Fügen Sie bei Bedarf eine Komponente hinzu und fügen Sie dann der Registrierungstabelle eine Zeile hinzu. Die Syntax ist einfach. –

Verwandte Themen