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

Zeitpunkt der .NET-Installation sehr fragwürdig


7 replies to this topic

Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 06 May 2008 - 13:47

Hallo zusammen!

Ich habe soeben in der Releases-View das .NET 2.0-Framework in meinen Installer eingebunden. Leider musste ich feststellen dass dies gleich zu Beginn der Installation "einfach so" installiert wird. Bricht man später bei der Installation der eigentlichen Software ab, bleibt .NET stillschweigend drauf...

Ich nehme mal an dass dies der übliche Weg ist, .NET zu installieren... Aber hatte von euch noch nie jemand das Problem, dass .NET erst bei der eigentlichen Installation der Software mitinstalliert werden darf (nachdem der Benutzer seine Features ausgewählt und auf "Install" geklickt hat) und dass es bei einem Setup-Abbruch auch gleich wieder gelöscht wird?

Könnt ihr mir einen Tipp geben wie ich das Ganze angehen soll?
Und kann mir irgendjemand einen guten Grund sagen warum .NET genau zu diesem Zeitpunkt installiert wird?

Wäre euch sehr dankbar!

Gruss
Michael

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 07 May 2008 - 16:18

Das Problem ist, dass das .NET Framework auch den Windows Installer benutzt bzw. konfiguriert. Deshalb sollte man die Framework-Instalaltion nicht mitten in einem laufenden MSI-Setup durchführen, sondern entweder vorher oder nachher.

Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 05 June 2008 - 09:57

Hallo zusammen!

Ich hab hier ein Problem mit einem Kunden der einfach nicht verstehen kann warum bei ihm auf der Maschine irgendetwas installiert wird ohne dass er vorher mit einem Welcome Screen begrüsst wurde oder eine Lizenz gelesen hat.

Hattet ihr auch schon einmal das Problem dass die .NET-Installation zu einem anderen Zeitpunkt ausgeführt werden soll? D.h. vielleicht nach der eigentlich Software-Installation?

Stefans Gründe oben machen durchaus Sinn!! Ich persönlich würde das sofort akzeptieren und die .NET-Überprüfung von InstallShield verwenden... Aber wie oben gesagt wünscht der Kunde ein anderes Vorgehen... Meint ihr es würde mit der .NET-Installation vielleicht nach der eigentlich Software-Installation klappen?
Oder ratet ihr mir definitiv davon ab und ich muss versuchen den Kunden zu überzeugen?

Vielen Dank für eure Hilfe!

Gruss
Michael

Edited by Michael.Hu, 05 June 2008 - 10:01.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 June 2008 - 13:01

Am Ende müsste gehen, wenn du dir dafür einen eigenen Launcher bastelst - und nicht während der Instalaltion auf das Framework angewiesen bist, etwa um Assemblies im GAC zu installieren.

Mt InstallShield 2009 kann man verkettete Setups erstellen und auch Prerequisites Feature-abhängig installieren. Ob das auch mit dem Framework klappt weiß ich nicht, aber du kannst es ja mal ausprobieren.

Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 05 June 2008 - 13:20

hi stefan!

vielen dank für die schnelle antwort!
ok, das wäre eine Lösung! Assemblies werden keine im GAC registriert.

Eine andere Lösung wäre gewesen den .NET-Option-Dialog anzuzeigen am Anfang. Dort wird der Benutzer mit folgender Meldung auf die .NET-Installation hingewiesen: "The software OPTIONALLY uses the Microsoft .NET Framework..."

Wie dir sicher auffällt ist der Begriff optionally nicht gerade sinnvoll... .Net ist ja eigentlich "zwingend" aber ich möchte trotzdem dass der Benutzer zuerst entscheiden kann ob er überhaupt installieren möchte, vielleicht hat er ja auch das falsche setup.exe angeklickt...

Meinst du ich habe eine Chance diesen MessageBox-Text zu ändern? Im Projekt-File ist der Text leider nirgends gespeichert...

Gruss
Michael







Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 June 2008 - 14:01

Er wird von der setup.exe angezeigt. Diese Strings stehen in den sprachspezifischen INI Dateien, z.B. 0x0409.ini.
Wenn ich mich nicht irre gibt es einen Schalter, der das Framework NICHT optional macht. Dann kommt der Dialog nicht, allerdings kann der Benutzer dann das Setup auch nicht vorzeitig abbrechen.

Mit welcher InstallShield Version arbeitest du? Ab Version 2008 werden neue ramework-Versionen als Prerequisites mitgeliefert. Der Prerequisite-Dialog sieht etwas anders aus und erfüllt den Zweck vielleicht besser. Du müsstest dir halt ggf. dein eigenes Prerequisite fürs Framework stricken und es dafür im Release-Assistenten rausnehmen.

Für den Benutzer würde das dann etwa so aussehen (siehe Screenshot)

Attached Images

  • prereq.gif


Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 05 June 2008 - 15:50

Hi stefan!

Super, das mit dem File 0x0409.ini hat geklappt! Doof ist halt dass der Benutzer trotzdem noch auf nein klicken kann... Weisst du mein Hauptproblem ist dass ich gleich zu Beginn des Installers eigene Requirement-Checks mache (z.B. Hardware). Wenn diese nicht erfüllt werden kann Setup nicht fortgesetzt werden. Nun kann es natürlich sein dass ein Benutzer z.B. zuwenig RAM hat. Um allerdings dies zu erfahren musste er vorher schon .NET installieren und das ist ziemlich frustrierend wenn du so lange gewartet hast und dann eine Meldung kriegst dass die Installation der eigentlichen Software doch nicht geht...

Aber offenbar gehts einfach nicht anders...
Ausser wie schon deine vorgeschlagene .NET-Installation am Ende mit einem eigenen Launcher.

maniac

maniac
  • Full Members
  • 94 posts

Posted 11 June 2008 - 13:49

Hi,

baue Dir doch einen Wrapper um Deine 2 Installationen drum und konfiguriere Dein Hauptsetup so, dass das .Net Framework nicht eingebunden ist.

Was ist meine schreib Dir eine bspw. EXE, die Dir eine Form anzeigt mit z.B. Wollen Sie das Produkt X jetzt installieren? Dazu muss ebenfalls das .Net Framework x.x installiert werden. Stimmt ser User da zu startet Deine EXE per Silent das .Net Framework und anschliessend Dein Hauptsetup. Damit der User auf der CD z.B. nicht mehere EXE-Files sieht könntest Du folgende Struktur erstellen:

|
|-->Files
| |---->.NetFramerwork.exe
| |----> MeinProgram.msi
|
|->setup.exe

Gruß maniac

Edited by maniac, 11 June 2008 - 13:50.