Frage

Ist es beim Erstellen eines Setups/MSI mit Visual Studio möglich, ein Setup für eine einfache Anwendung zu erstellen, für deren Installation keine Administratorrechte erforderlich sind?Wenn es unter Windows XP nicht möglich ist, ist es dann unter Vista möglich?

Zum Beispiel eine einfache Bildbearbeitungsanwendung, mit der Sie Fotos über Hintergründe einfügen können.Ich glaube, für die Installation im Ordner „Programme“ sind Administratorrechte erforderlich?Können wir stattdessen im Ordner \AppData installieren?

Das Ziel besteht darin, eine Anwendung zu erstellen, die für Benutzer installiert wird, die nicht Mitglieder der Administratorengruppe auf dem lokalen Computer sind und die UAC-Eingabeaufforderung unter Vista nicht anzeigt.

Ich glaube, eine Einschränkung dieser Methode wäre, dass andere Benutzer sie nicht ausführen könnten, wenn sie im App-Datenordner für den aktuellen Benutzer installiert würde.

Aktualisieren:

Können Sie eine einmalige Klickinstallation in ein normales Installationsprogramm vom Typ „setup.exe“ packen?Sie fragen sich vielleicht, warum wir das wollen – der Grund dafür ist, dass wir ein Installationsprogramm haben, das eine Prüfung der Voraussetzungen durchführt und alles Erforderliche installiert (z. B. .NET) und wir dann das MSI herunterladen und ausführen.Wir möchten auch einen normalen Startbildschirm des Installationsprogramms anzeigen, auch wenn dieser das einzige ist, was angezeigt wird.Es macht uns nichts aus, wenn die App nur von einem Benutzer gesehen werden kann (dem Benutzer, für den sie installiert wurde).

War es hilfreich?

Lösung

Clickonce ist eine gute Lösung für dieses Problem. Wenn Sie gehen Eigenschaften zum Projekt> veröffentlichen, können Sie Setup-Einstellungen für diese. Insbesondere „Install-Modus und Einstellungen“ ist gut zu sehen:

  • Die Anwendung ist nur online verfügbar - dies effektiv eine "run once" ist die Anwendung
  • Die Anwendung ist verfügbar als auch offline (startbar aus dem Startmenü) - dies installiert die Anwendung auf dem PC

Sie müssen nicht tatsächlich die Clickonce-Web-Deployment Sachen verwenden. Wenn Sie einen Build tun> Veröffentlichen, und dann den Inhalt zip des \ Ordner veröffentlichen, können Sie effektiv, dass als Installateur verteilen. Um es noch glatter, erstellen Sie ein selbstextrahierendes Archiv aus dem Ordner, der die Datei setup.exe automatisch ausgeführt wird.

Auch wenn Sie auf diese Weise installieren, wenn Sie sich entscheiden, es zu benutzen, wird das Online-Update noch für die Anwendung arbeiten. Alles, was Sie tun müssen, ist die Online-Clickonce-Dateien setzen, und die URL setzen in der Publish-Eigenschaftenseite des Projekts.

Andere Tipps

Vista ist mehr restriktiv über diese Art der Sache, so dass, wenn Sie es nicht für XP tun können Sie darauf wetten können Vista werden Sie auch nicht lassen.

Sie haben Recht, dass Dateien in dem Programm zu installieren Ordner mit dem Windows Installer-Administratorrechte erfordern. In der Tat, alle Schreibzugriff in diesem Ordner erfordert Admin permsissions, weshalb Sie nicht mehr Ihre Daten im selben Ordner wie die ausführbare Datei gespeichert werden sollten.

Zum Glück, wenn Sie mit .Net Sie Clickonce-Bereitstellung anstelle eines msi verwenden können, die es erlauben, sollten Sie auf einen Ordner in jedem Benutzerprofil zu installieren, ohne Admin-Rechte erforderlich sind.

Die einzige mir bekannte Möglichkeit besteht darin, eine ClickOnce-Anwendung in .NET 2.0+ zu erstellen

Wenn der Benutzer Ihrer Anwendung die richtigen Voraussetzungen installiert hat, kann die Anwendung einfach „gestartet“ werden.

Kasse:

Wenn UAC aktiviert ist, können Sie nicht auf Programme schreiben. Installieren von AppData auf \ wird in der Tat nur installieren Sie das Programm für einen Benutzer.

Sie müssen jedoch beachten, dass alle Konfigurationsänderungen, die wahrscheinlich Änderungen an die Registrierung erfordert Administratorrechte (ich auf diesen überprüfen verdoppeln müssten). Aus der Spitze von meinem Kopf Modifikationen an den Desktop-Hintergrund werden schließlich in HKEY_CURRENT_USER gespeichert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top