Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Merge-Modul? welcher projekttyp ist der richtige?


14 replies to this topic

fideles

fideles
  • Full Members
  • 14 posts

Posted 29 January 2007 - 19:40

hallo zusammen,

es gibt momente da zweifle ich an meinem verstand...
das kann doch gar nicht so schwer sein oder...?

am besten fange ich von vorne an, denn ich denke ich habe mich komplett verrannt und alles was ich bislang getan habe ist für die tonne. einfach frustrierend!

ziel soll es sein ein MSI setup zu einer hardwarekomponente zu erstellen. dieses wird einmal in einer voll- und einer lightversion zu erstellen sein, wobei die lightversion eine teilmenge der vollversion ist. das setup selbst besteht dann aus 3-4 komponenten die für die installation ausgewählt werden können, diese komponenten können aber auch in anderen setups (die dann zukünftig zu erstellen sein werden) enthalten sein.
wie fange ich es an das ich diese komponenten weiterhin verwenden kann, wäre das ein Merge-Modul?
macht man hieraus am besten ein InstallScript-Objekt, Basic-MSI, InstallScript MSI oder Merge-Modul (oder wäre ein Merge-Modul nur ein teil von z.b. einem InstallScript-Objekt). vor allem soll am ende alles auf "knopfdruck" oder per "skriptaufruf" automatisch laufen...

wäre super wenn mir hier jemand auf die sprünge helfen kann, als praktikant hat man eh nicht die beste position und wenn ich das hier nicht auf die reihe bekomme ist auch essig mit job sad.gif

vorab herzlichen dank
fideles


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 January 2007 - 08:52

QUOTE
wie fange ich es an das ich diese komponenten weiterhin verwenden kann, wäre das ein Merge-Modul?

Ja, jedenfalls bei Windows Installer. Du machst ein Merge Modul für die Kompnente die du auch woanders verwenden willst. Dann machst du ein basicMSI Projekt das dein eigentliches Setup wird und bindest dort das Merge Modul ein. Bitte verwende nicht "InstallScript MSI".

Um die Light-Version zu erstellen kannst du Release Flags verwenden um die Features (nicht Komponenten) herauszufiltern die nur in der Vollversion mitgeliefert werden sollen. So kannst du aus einem Projekt beide Varianten erstellen.

fideles

fideles
  • Full Members
  • 14 posts

Posted 30 January 2007 - 09:55

VIELEN DANK!!!

Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 05 April 2007 - 13:41

hallo!
Ich habe mich durch sämtliche Beiträge hier im forum durch forstet, habe aber nix gefunden, was mir weiter hilft.

ich nutze vs 2005 und windows installer 3.01
Für ein Projekt soll ich ein Merge Modul erstellen, welches bei der installation im registry nach schaut, ob access vorhanden ist, wenn ja welche version da ist dann eine bestimmte msi ausführen, wenn keine acces da ist, dann auch eine bestimmte msi ausführen.

Programmiertechnisch ist es fertig aber chef will es mit windows installer gelöst haben. blink.gif
ist es mit windows installer möglich.

dank im Voraus!


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 April 2007 - 14:25

Nach einem Registry-Eintrag suchen ist mit Windows Installer möglich (über die Tabellen AppSearch und RegLocator, ich wiess nicht ob Visual Studio dafür ein UI hat). Aber du kannst aus einem MSI-Setup kein anderes MSI-Setup ausführen. Deshalb soltest du besser die Prüfung in einer setup.exe machen die dann bei Bedarf die andere msi startet und schließlich deine eigene.

Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 17 April 2007 - 15:55

QUOTE (Stefan Krueger @ 2007-04-13 14:25)
Nach einem Registry-Eintrag suchen ist mit Windows Installer möglich (über die Tabellen AppSearch und RegLocator, ich wiess nicht ob Visual Studio dafür ein UI hat). Aber du kannst aus einem MSI-Setup kein anderes MSI-Setup ausführen. Deshalb soltest du besser die Prüfung in einer setup.exe machen die dann bei Bedarf die andere msi startet und schließlich deine eigene.

Danke erstmal für das Feedback.

ich habe mehrere msm Modul erstellt und habe die in einer MSI datei gemergt.
im MSI datei "Launch Condition" prüfe ich Registryeintrag ab, trifft die Bedingung zu, sollt das entsprechende msm Modul ausgeführt werden.

meine Frage:
wie kann ich das passende msm Modul anstoßen bzw. ausführen lassen?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 April 2007 - 15:29

Ein Merge Modul wird Teil der MSI-Datei, d.h es wird genauso behandelt. Wenn du ein Komponente nicht installieren willst, kannst du (je nach deinen Anforderungen) eine Bedingung verwenden oder das entsprechende Feature abwählen. Im Falll einer Custom Action musst du eine entsprechende Bedingung angeben.

Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 18 April 2007 - 23:59

QUOTE (Stefan Krueger @ 2007-04-18 15:29)
Ein Merge Modul wird Teil der MSI-Datei, d.h es wird genauso behandelt. Wenn du ein Komponente nicht installieren willst, kannst du (je nach deinen Anforderungen) eine Bedingung verwenden oder das entsprechende Feature abwählen. Im Falll einer Custom Action musst du eine entsprechende Bedingung angeben.

wie kann so eine Bedingung aussehen?

ich habe alles mögliche in condition eingegeben aber es passiert überhaupt nicht.

wenn ich die MSI datei ausführe, wird lediglich nur den Inhalt von msm(mdb dateien) komponent auf dem Zielrechner entpackt und mehr passiert nix.

mein Ziel ist es, dass 3 msm in einer msi datei zu mergen. Und
beim starten der msi datei bzw. setup.exe wird im Registry des Zielrechners geschaut, welche Programmversion schon installiert ist, anschliessend sollt beispielweise das zweite msm installiert werden.

Mit Mühe und Not habe ich es geschafft, dass beim Starten der msi Datei information aus der Registry des Zielrechners auszulesen "Launch Condition". Jetzt muss ich nur noch das passende msm komponen starten.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 April 2007 - 18:10

Naja, wenn du das Ergebnis der Registry-Suche im Property PROGRAMMVERSION speicherst, dann könnte die Komponentenbedingung lauten:
PROGRAMMVERSION=3

Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 20 April 2007 - 10:00

QUOTE (Stefan Krueger @ 2007-04-19 18:10)
Naja, wenn du das Ergebnis der Registry-Suche im Property PROGRAMMVERSION speicherst, dann könnte die Komponentenbedingung lauten:
PROGRAMMVERSION=3

wo genau muss ich diese Komponetenbedingung Programmversion =3 eintragen?

Ich habe diese komponenentenbedingung bei der MSI datei "Launch Conditions" CONDITION : "REGISTRYVALUE1=3" eingetragen.
es kommt nur diese Message, danach kann ich nur die Installation abbrechen. sad.gif



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 April 2007 - 09:17

Ich sprach von einer Komponten-Bedingung. Die wird bei den Einstellungen der Komponente angegeben.

Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 02 May 2007 - 11:34

QUOTE (Stefan Krueger @ 2007-04-19 18:10)
Naja, wenn du das Ergebnis der Registry-Suche im Property PROGRAMMVERSION speicherst, dann könnte die Komponentenbedingung lauten:
PROGRAMMVERSION=3

hallo,

was bedeutet =3?

Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 02 May 2007 - 15:27

QUOTE (Ich_Will @ 2007-05-02 11:34)
QUOTE (Stefan Krueger @ 2007-04-19 18:10)
Naja, wenn du das Ergebnis der Registry-Suche im Property PROGRAMMVERSION speicherst, dann könnte die Komponentenbedingung lauten:
PROGRAMMVERSION=3

hallo,

was bedeutet =3?

alles klar
Das Problem hat sich erledigt!
für alle andere =3 ist der zu suchendem Wert aus der Registry.


Ich_Will

Ich_Will
  • Full Members
  • 7 posts

Posted 03 May 2007 - 14:22

QUOTE (Stefan Krueger @ 2007-04-18 15:29)
Ein Merge Modul wird Teil der MSI-Datei, d.h es wird genauso behandelt. Wenn du ein Komponente nicht installieren willst, kannst du (je nach deinen Anforderungen) eine Bedingung verwenden oder das entsprechende Feature abwählen. Im Falll einer Custom Action musst du eine entsprechende Bedingung angeben.


Ist es möglich Merge Modul in Merge Modul zu verschachteln?

ich habe es ausprobiert. es klappt nicht.
richtig?



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2007 - 16:00

QUOTE
Ist es möglich Merge Modul in Merge Modul zu verschachteln?

Nein. Es gibt höchstens die Möglichkeit, Module Dependencies anzugeben, so dass das andere Modul beim Merge mit eingebunden wird.