mayho33
Goto Top

Installshield Merge Module

Hallo @ All!

Wir verwenden in der Firma Installshield 2010 um "Copy-Job-Installationen" zu MSIs umzubauen. Da es einige immer wiederkehrende Doings in der MSi gibt (z.B. in der Registry unter "HKLM\...\uninstall\GUID" Zusatzinfos einbauen wie etwa eine KatalogID usw.), dachte ich sowas wäre doch elegant mit einem MSM zu lösen.

Ich gehe also her und erstelle ein neues MSM-Project, erstelle eine neue Componente, hinterlege via Reg-Import meine Keys, und im Property-Manager entsprechende Properties die dann nur mehr befüllt werden müssen. Eigentlich eine einfache Sache und dauert im Normalfall auch nicht lange, wenn es beim Erstellen der MSI gemacht wird, trotzdem möchte ich es als MSM bereitstellen.

Leider aber funktionieren meine MSM's nicht. Beim Einbinden in eine MSI ist kein einziger Reg-Key oder Property vorhanden. Was mache ich falsch?

Danke für Eure Hilfe und Hinweise!

Grüße

Mayho

PS: Da es keine Passende Rubrik gibt, habe ich das Ganze mal unter Entwicklung:Installation abgelegt. Hoffe das passt so.

Content-Key: 262254

Url: https://administrator.de/contentid/262254

Printed on: April 24, 2024 at 07:04 o'clock

Member: colinardo
colinardo Feb 04, 2015 updated at 12:33:23 (UTC)
Goto Top
Hi Mayho,
also ich habe das hier mal nachgestellt. Ein MSM-Database-Projekt angelegt ein paar Registry-Keys eingefügt und das ganze gespeichert. Dann MSI Projekt angelegt und unter Redistributables das MSM hinzugefügt und einem Feature im MSI-Projekt zugeordnet, Build des Projects durchgeführt. Installation durchlaufen lassen und gecheckt ob Registry-Keys vorhanden sind, ergo sind sie.

Ich wüsste jetzt nicht was du im einzelnen genau gemacht hast.

Grüße Uwe
Member: mayho33
mayho33 Feb 04, 2015 updated at 15:47:11 (UTC)
Goto Top
Hi colinardo!

Was ich tun möchte ist wue du schon beschrieben hast ein paar RegKeys im MSM definieren. Was ich zusätzlich noch tun möchte, ist ein paar Properties im MSM zu definieren die ich im MSI auch befüllen kann.
In meinen Versuchen war weder das eine noch das andere da. Sehr frustrierend.

Im Detail will ich 3 RegKey die ich via Property befülle. Etwa so:

Component: Registry
Key: [HKLM\...\Uninstall\GUID\KatalogID
Globales Property: KATALOGID, value: Wird angegeben beim basteln der MSI

Macht mein MSM nicht. Verstehe ich das was falsch? Dachte das MSM könnte4 mach auch dazu nutzen Properties vorzudefinieren usw. Hast du ein Beispiel?

Danke!

Grüße

Mayho
Member: colinardo
Solution colinardo Feb 04, 2015 updated at 19:36:55 (UTC)
Goto Top
Ich bin da jetzt auch nicht so der absolute Crack in InstallShield aber vermutlich musst du hier zum Ändern zu einer "Custom-Action > Set Property" greifen, um die Eigenschaft des Merge Modules abzuändern. So ähnlich wie es hier für den Advanced Installer beschrieben wird.

In einem Merge-Module bekommt normalerweise jede Property die GUID des Modules an den Namen der Property angehängt. Das kannst du im DirectEditor in der Property-Tabelle überprüfen. Das sieht dann bspw. so aus
Name_der_Property.6595DE35_C86F_4E2A_93E5_58B876C7274A
Mit diesen Informationen kannst du nun im MSI-Project eine Custom-Action erstellen mit New Set Property. In den PropertyName fügst du nun den obigen Namen der Property inkl. der GUID ein und weist der Property deinen Wert unter Property Value zu, und lässt die Action zeitig bevor die Komponente installiert wird ausführen.

0e23085ef1ac8eebb4415ea4461be294

Grüße Uwe
Member: mayho33
mayho33 Feb 04, 2015 at 19:36:49 (UTC)
Goto Top
Habe ich verstanden, Danke. Hab absolut keinen Tau von MSM, verstehe die Dinger aber schon "auch" wie ein erweitertes Template, abgesehen von dereeigentlicher Funktion. Kann natürlich sein, dass man das überhaupt nicht macht, Properties bereitstellen über ein msm.

Auf die weise (deine Erklärung leuchtet mir schon ein) hat man dann ja eher mehr Arbeit als Ersparnis.

Na dann wirds wohl ein Template werden.

Danke!,
Wie immer: Sehr hilfreich

Grüße

Mayho