Laden...

Setup/Update Projekt - Bisherigen Installations Pfad ermitteln

Erstellt von Sebastian1989101 vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.090 Views
Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 13 Jahren
Setup/Update Projekt - Bisherigen Installations Pfad ermitteln

Hallo Community,

weiß jemand ob es möglich ist einen bisherigen Installations Pfad einer Anwendung zu ermitteln bei den Setup Projekten in VS? Oder kann man der msi File irgendwie einen Ordner mitgeben als Parameter wohin er installieren soll? Es nervt nämlich das er bei jeden Update wieder den ganzen Pfad braucht, würde gerne entweder das alles still und heimlich im Hintergrund passiert und der Benutzer nicht wieder alles durch klicken muss. Am besten wäre wohl eine Parameter übergabe oder ähnliches - oder kann man vllt. direkt Update Packete erstellen? Kenne mich im Bereich von Setup und Bereitstellung leider überhaupt nicht aus und habe entsprechend viele Anhalts Punkte bei google nach den richtigen Thema zu suchen. 😕

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog

M
1.439 Beiträge seit 2005
vor 13 Jahren
  1. Während der Installation den Installationspfad in die Registry zu schreiben und bei einem Update von dort wieder auszulesen ist die einfachste Möglichkeit.

  2. Du kannst Properites, und somit auch den Installationspfad, über die Kommandozeile ändern. Siehe Windows-Installer: Command-Line Options

Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 13 Jahren

Wie würde den das ganze mit der Regestire Funktionieren? Also das wärend der Installation rein zu schreiben und falls vorhanden zuvor den Pfad Auszulesen ansonsten halt der Default Wert.

Hab jetzt so ziemlich alle möglichkeiten aus der Command-Line MSDN ausprobiert aber kriegs nicht hin das über den Parametern der Installations Pfad bestimmt wird...

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo ihr beiden,

Während der Installation den Installationspfad in die Registry zu schreiben und bei einem Update von dort wieder auszulesen ist die einfachste Möglichkeit.

sicher könnte man den Installationspfad "von Hand" in die Registry schreiben, aber ich denke gerade für den Installationspfad sollte es bei den normalen Setup-Generatoren eine automatische/standardmäßige Unterstützung geben. Das ist allerdings nur eine Vermutung. Das Schreiben der Registry von Hand würde ich als Workaround sehen. Allerdings gehen ich davon aus, dass Setup-Generatoren auch dafür eine Unterstützung anbieten.

Hab jetzt so ziemlich alle möglichkeiten aus der Command-Line MSDN ausprobiert ...

Hast du denn auch PROPERTY=VALUE versucht? Allerdings weiß ich nicht auf Anhieb, wie die Property für den Installationspfad heißt.

herbivore

Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 13 Jahren

Habs mit INSTALLDIR="D:\Test" und DefaultLocation="D:\Test" versucht also einmal wie es mir logisch erscheinen würde und einmal wie die Property im VS heißt für den Install Dir.

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog

U
135 Beiträge seit 2009
vor 13 Jahren

Wenn es Dir hauptsächlich um eine weitgehend automatisierte Update-Funktionalität geht, könnte vielleicht auch Maximilians Projekt für Dich interessant sein: updateSystem.NET

M
1.439 Beiträge seit 2005
vor 13 Jahren

sicher könnte man den Installationspfad "von Hand" in die Registry schreiben, aber ich denke gerade für den Installationspfad sollte es bei den normalen Setup-Generatoren eine automatische/standardmäßige Unterstützung geben...

Es gibt das ARPINSTALLLOCATION Property um den Pfad zu speichern und automatisch zu setzen. Allerdings wird dieses zumindest von VS2005 nicht verwendet. Abgesehen davon, hat dieses Property bei einigen älteren Windwos Installer Versionen bei mir nicht zuverlässig funktioniert.

Hab jetzt so ziemlich alle möglichkeiten aus der Command-Line MSDN ausprobiert ...

=>TARGETDIR=C:\Foo

Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 13 Jahren

Vielen dank TARGETDIR war die gesuchte loesung =)

Jetzt muss ich das ganze nur noch so verpcken dass ich den Prozess aus der Anwendung herausstarten kann. 😃

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog