none
Freeware Installer gesucht RRS feed

  • Frage

  • Hallo,
    zuerst: ich habe schon Google und die Forum-Such benutzt.

    Ich suche einen installer, der meine C# Projekte installiert. Ich habe mir schon z.B den AdvancedInstaller free angeschaut, den Finde ich auch recht gut, aber wenn ich nun meine Programme unter Freunden verteilen will, die das .NET FRamework nicht haben, hätte ich gerne die Funktion, dass der Installer sucht, ob .NET vorhanden ist und es notfalls installiert. Der AdvancedInstaller kann dies auch, aber nur in der Pro Version und die kostet mehrere 100 Dollar.
    Also falls jemand einen Installer mit meinen Anforderungen kennt, wäre ich dankbar, wenn er mir den Link sendet.

    Hier der Link für den AdvancedInstaller:
    www.advancedinstaller.com

    Dienstag, 28. April 2009 13:08

Antworten

  • Hallo clionel,

    Geh mal in den Eigenschaftsseiten des Projektes auf "Publish", dann auf den Knopf "Prerequisites...".

    Unterhalb der Liste der Prerequisites findest Du mehrere Auswahlmöglichkeiten:

    - "Download prerequisites from the component vendor`s web site."
    (Das ist die Standardeinstellung und deswegen wird das Framework aus dem Internet gedownloaded.)

    und:

    - "Download prerequisites from the same location as my application."
    Wenn Du diese Option wählst, wird das Framework zusammen mit Deinem Programm ausgeliefert, das ist also genau das, was Du willst.

    So. Jetzt geht es aber los:

    Ich bin mir nicht sicher, ob die "Tools for redistributing applications" bei einer Express-Installation mitinstalliert werden. Wahrscheinlich nicht. Im "Visual Studio 2008 Product Comparison Guide" steht davon leider gar nichts:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=727BCFB0-B575-47AB-9FD8-4EE067BB3A37

    Wenn Du also die "Download prerequisites from the same location as my application"-Option wählst und im Build-Menü auf "Publish" drückst, bekommst Du nur eine lange Liste von Fehlern, die besagen, dass die entsprechenden Komponenten zur Redistribution auf Deinem Rechner nicht vorhanden sind.

    Deswegen musst Du jetzt folgendes tun:

    Du musst das .NET Framework Redistributable komplett herunterladen.

    WICHTIG: Falls Du das .NET 3.5 Service Pack 1 auf Deinem Rechner installiert hast, musst Du auch das entsprechende Redistributable herunterladen.

    Für .NET 3.5: http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe
    Für .NET 3.5 SP1: http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

    So.

    Diese dotnetfx35.exe-Datei ist eine ausführbare ZIP-Datei, also kannst Du Sie mit mit WinZIP oder WinRAR zunächst einmal entpacken. An oberster Stelle bekommst Du einen Ordner namens "wcu" und darunter einen Ordner namens "dotNetFramework". DIESEN Ordner benennst Du nun um in "DotNetFX35" oder "DotNetFX35SP1" (wenn es sich um .NET 3.5 SP1 handelt) und diesen ganzen Ordner mitsamt den ganzen Unterordnern kopierst Du jetzt in den Ordner:

    %ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

    Wenn dieser Pfad bei Dir nicht existiert, dann erstelle ihn einfach. Der Publish-Prozess von Visual Studio 2008 erwartet, dass die Redistributables genau dort liegen, das ist hartgecoded, nicht konfigurierbar.

    Für .NET 3.5 SP1 sähe das dann zum Beispiel so aus:
    C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1

    Danach kannst Du in Visual Studio auf "Publish" drücken und das .NET Framework (und noch ein paar andere Sachen, Installer 3.1, etc.) werden zusammen mit Deiner Anwendung ausgeliefert und niemand muss es herunterladen.

    Sorry, das ist ein wenig Gefummel, aber das geht eben nicht anders.

    Liebe Grüsse

    Arne
    • Als Antwort markiert clionel Samstag, 2. Mai 2009 14:02
    Donnerstag, 30. April 2009 15:50

Alle Antworten

  • Hallo Clionel,

    ich vermute, dass Du ein Visual Studio Express Edtition-Benutzer bist, da Du ja sonst Windows Installer-Pakete mit Visual Studio erstellen könntest?

    Gleichwohl kannst Du auch in den Express Editions ClickOnce-Setups erstellen, einfach unter "Build" auf "Publish" drücken, schau Dir auch die Einstellungen auf der "Publish"-Seite der Projekteigenschaften an. Falls Du ClickOnce noch gar nicht kennen solltest, findest Du hier einen Einstieg:

    Einführung in die ClickOnce-Bereitstellung
    http://msdn.microsoft.com/de-de/vbasic/ms789088.aspx

    Es gäbe mit ClickOnce auch die Möglichkeit, das .NET Framework Redistributable und andere Komponenten, von denen Dein Programm abhängig ist, gleich mitauszuliefern, so dass Deine Benutzer diese Komponenten gar nicht erst herunterladen müssen und sie automatisch zusammen mit Deinem Programm installiert werden, aber das Vorgehen unterscheidet sich zwischen Visual Studio 2005 und 2008 (ich müsste wenigstens wissen, welche Version zu verwendest) und ist unter Umständen etwas kniffelig. Wenn Du das machen möchtest, erkläre ich es Dir aber gern.

    Eine andere, noch weit leistungsfähigere Möglichkeit wäre natürlich, das freie WiX-Framework zu nutzen:

    WiX tutorial
    http://www.tramontana.co.hu/wix/

    Es gibt zwar mittlerweile brauchbare Editoren für WiX-Projekte, wie:

    http://wixedit.sourceforge.net/

    Jedoch nehmen auch diese Editoren einem die Mühe nicht ab, sich in WiX und letztlich die zugrunde liegende Windows Installer-Infrastruktur einzuarbeiten. Das macht man nicht mal eben so nebenbei. Um ein Programm an ein paar Freunde zu verteilen, wäre das vermutlich völliger Overkill.

    Herzliche Grüsse

    Arne
    • Bearbeitet Arne Janning Dienstag, 28. April 2009 20:53 Tippfehler korrigiert. Erwähnte ich schon, dass mich diese Schweizer Tastatur wahnsinnig macht?
    Dienstag, 28. April 2009 20:47
  • Hallo und danke für deine Antwort.
    Richtig, ich habe die Express Edition 2008. Ich kenne auch die ClickOnce Setups, aber wenn jemand das Framework nicht hat, wird es immer aus dem Internet gedownloadet und dafür brauch man eine Internetverbindung. Also wenn du mir eine andere Möglichkeit nennen könntest, wäre ich dir dankbar.

    Von WiX habe ich schon gehört und es stimmt sicher, dass das Overkill wäre, aber vielleicht schaue ich mir das auch mal näher an, wenn ich Zeit hab.

    Also vielen Dank erstmal.
    Mittwoch, 29. April 2009 16:46
  • Hallo clionel,

    Geh mal in den Eigenschaftsseiten des Projektes auf "Publish", dann auf den Knopf "Prerequisites...".

    Unterhalb der Liste der Prerequisites findest Du mehrere Auswahlmöglichkeiten:

    - "Download prerequisites from the component vendor`s web site."
    (Das ist die Standardeinstellung und deswegen wird das Framework aus dem Internet gedownloaded.)

    und:

    - "Download prerequisites from the same location as my application."
    Wenn Du diese Option wählst, wird das Framework zusammen mit Deinem Programm ausgeliefert, das ist also genau das, was Du willst.

    So. Jetzt geht es aber los:

    Ich bin mir nicht sicher, ob die "Tools for redistributing applications" bei einer Express-Installation mitinstalliert werden. Wahrscheinlich nicht. Im "Visual Studio 2008 Product Comparison Guide" steht davon leider gar nichts:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=727BCFB0-B575-47AB-9FD8-4EE067BB3A37

    Wenn Du also die "Download prerequisites from the same location as my application"-Option wählst und im Build-Menü auf "Publish" drückst, bekommst Du nur eine lange Liste von Fehlern, die besagen, dass die entsprechenden Komponenten zur Redistribution auf Deinem Rechner nicht vorhanden sind.

    Deswegen musst Du jetzt folgendes tun:

    Du musst das .NET Framework Redistributable komplett herunterladen.

    WICHTIG: Falls Du das .NET 3.5 Service Pack 1 auf Deinem Rechner installiert hast, musst Du auch das entsprechende Redistributable herunterladen.

    Für .NET 3.5: http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe
    Für .NET 3.5 SP1: http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

    So.

    Diese dotnetfx35.exe-Datei ist eine ausführbare ZIP-Datei, also kannst Du Sie mit mit WinZIP oder WinRAR zunächst einmal entpacken. An oberster Stelle bekommst Du einen Ordner namens "wcu" und darunter einen Ordner namens "dotNetFramework". DIESEN Ordner benennst Du nun um in "DotNetFX35" oder "DotNetFX35SP1" (wenn es sich um .NET 3.5 SP1 handelt) und diesen ganzen Ordner mitsamt den ganzen Unterordnern kopierst Du jetzt in den Ordner:

    %ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

    Wenn dieser Pfad bei Dir nicht existiert, dann erstelle ihn einfach. Der Publish-Prozess von Visual Studio 2008 erwartet, dass die Redistributables genau dort liegen, das ist hartgecoded, nicht konfigurierbar.

    Für .NET 3.5 SP1 sähe das dann zum Beispiel so aus:
    C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1

    Danach kannst Du in Visual Studio auf "Publish" drücken und das .NET Framework (und noch ein paar andere Sachen, Installer 3.1, etc.) werden zusammen mit Deiner Anwendung ausgeliefert und niemand muss es herunterladen.

    Sorry, das ist ein wenig Gefummel, aber das geht eben nicht anders.

    Liebe Grüsse

    Arne
    • Als Antwort markiert clionel Samstag, 2. Mai 2009 14:02
    Donnerstag, 30. April 2009 15:50
  • Hallo und nochmals danke!

    Ich habe deine Möglichkeit probiert und es hat geklappt. Gleichzeitig habe ich aber auch NSIS ausprobiert und kann es jedem empfehlen! Es ist nicht sehr schwer und es gibt viele Funktionen, die von anderen geschrieben sind, so z.B. auch eine für .NET.

    Also nochmal danke an dich.
    Samstag, 2. Mai 2009 14:02