Frage

Wir haben einen MSI-Installer für eine .NET WinForms-Anwendung für Windows XP, die nur als Admin installiert und ausgeführt wird. Benutzer müssen die App anmelden, wenn es ausgeführt wird. Die Kunden wollen es unter einem Benutzerkonto unter Vista zu installieren und auszuführen, und ihr Windows-Konto zu verwenden.

Ein erster Blick durch den Code zeigt viele Probleme; das Installationsprogramm schreibt die Registrierung und installiert die App in C: \ Program Files. Die App speichert Benutzereinstellung in der Registrierung, schreibt Daten in C: \ Dokumente und Einstellungen \ All Users \ und erstellt temporäre Dateien in C:.

Ich denke, das erste, was zu tun Speichern von Daten-Dateien in System.Environment.CommonApplicationData und Benutzereinstellungen in System.Environment.LocalApplicationData ist. Kann ein Konto Benutzer eine App System.Environment.ProgramFiles installieren?

Ein Problem ist, dass die App von jedem Benutzer installierbar und installierbar sein müssen, und alle Benutzer haben die gleichen Datendateien. Jeder Benutzer hat seine eigenen Vorlieben.

Gibt es ein Buch oder eine Website, die eine detaillierte Aufschlüsselung gibt auf das, was erforderlich ist, eine WinForms-Anwendung zu erstellen, die die Regeln für mehrere Benutzer auf Vista gehorcht?

Edit: Ich mit dem Kunden und die Anforderung überprüfte nur zu installieren, da ein Benutzerkonto fest ist, sie zu entfernen Admin-Zugang von Bodenpersonal. Dies schließt aus Admin-installierten Komponenten und pro-Maschine installiert.

Ich dachte an ein separates Daten App erstellen, die auf einer Admin-Maschine laufen würden, die die Böden Maschinen über Remoting in Verbindung bringen würden. Alle Client-Daten würden auf diesem Computer gespeichert werden. muß jedoch würde diese App auch installieren und unter einem Benutzerkonto ausgeführt werden.

Gibt es ein Buch oder Website beschreiben alle die Regeln, die Benutzer Vista-Anwendungen müssen folgen?

War es hilfreich?

Lösung 3

Danke Jungs. Ich habe mit dem Kunden und die Anforderung nur zu installieren, da ein Benutzerkonto fest ist, sie Admin-Zugang von Bodenpersonal entfernt werden soll. Dies schließt aus Admin-installierten Komponenten und pro-Maschine installiert.

Unsere Lösung war ein neues Standard-Benutzerkonto für unsere App zu erstellen. Die Mitarbeiter, die die App verwenden müssen, müssen diese Benutzer anmelden. Es stellte sich tatsächlich besser als Daten zwischen den Nutzern zu teilen, denn jetzt können wir die App für verschiedene Clients auf demselben Computer Host.

Ich fand auch eine gute Referenz für die Herstellung von Multi-User-Anwendungen auf Windows, die Microsoft Windows 7 Client Software Logo Technische Voraussetzungen: Dokument .

Andere Tipps

„Die App muss von jedem Benutzer installierbar und installierbar sein“ „Alle Benutzer haben die gleichen Datendateien“

Sie werden Schwierigkeiten haben, mit diesen beiden Anforderungen zu erfüllen haben. Vista neue Sicherheitsfunktionen entwickelt, um Benutzern zu verhindern, trampeln aufeinander (und auf dem System).

über die einzige Art, wie ich denken kann, diese Arbeit zu machen, ist eine Art und Weise ähnlich, wie wir eine Anforderung wie das auf einer Windows 2000-Umgebung behandelt. Sie bauen zwei Komponenten - der Benutzer Teil der App, und eine Systemkomponente, die die Informationen verwaltet, die zwischen den Benutzern gemeinsam genutzt wird. Ein Administrator installiert die ‚gemeinsame‘ Komponente (die einen Windows-Dienst umfasst, um sie auszuführen), und jeder Benutzer installiert die ‚user‘ Komponente.

Ich denke, das könnte für Ihr Szenario arbeiten, aber es würde wieder arbeiten Sie Ihren Code erforderlich, der die freigegebenen Dateien verwendet, um den Dienst zu sprechen, anstatt die Dateien direkt zuzugreifen.

Natürlich können Sie auch einfach nur ein Werkzeug der Benutzer als Administrator läuft Ihre Ordner in einem bestimmten Ort zu erstellen und die erforderlichen Sicherheitsberechtigungen zu gewähren. Das könnte auch für Ihre Zwecke arbeiten.

Sie werden Probleme haben, so dass die Anwendung von jedem Benutzer installiert werden, und gleichzeitig den Dateien Zugriff auf gemeinsam genutzte Daten. Dies liegt daran, Ihre erste Anforderung impliziert eine pro Benutzer installieren, während der zweite impliziert eine pro-Maschine installieren. Lassen Sie mich erklären ...

Standard (MSI-basierte) Installateure scoped werden kann, um entweder pro Benutzer oder pro Computer:

  • Pro-Benutzer installiert das installierte Programm setzt Dateien irgendwo unter dem Home-Verzeichnis des Benutzers. Die Anwendung ist nur für den Benutzer installiert. Andere Benutzer sehen nicht einmal das Programm im Startmenü noch Programme hinzufügen / entfernen. Wenn sie das Programm wollen, müssen sie es selbst Bereich in ihren eigenen pro-Benutzer installieren. So kann es mehrere Kopien des Programms installiert sein, und jeder von den anderen isoliert ist. Diese Art der Installation kann durch regelmäßigen (nicht-admin) Benutzer durchgeführt werden, weshalb sie auf gemeinsam genutzte Bereiche wie „Program Files“ nicht schreiben können oder „Alle Benutzer“.
  • Per-Maschine installiert Bereiche des Dateisystems (zB „Program Files“ oder „All Users“) geteilt ändern können. Jeder Benutzer sieht die gleiche Kopie des Programms im Startmenü und Programme hinzufügen / entfernen. Nur Admin-Benutzer diese Art der Installation durchführt, kann.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top