Laden...

Windows 7: InstallAllUsersVisible unwirksam

Erstellt von Christel vor 12 Jahren Letzter Beitrag vor 12 Jahren 3.220 Views
C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren
Windows 7: InstallAllUsersVisible unwirksam

Zu meinem Programmpaket gibt es ein Setup, bei welchem im Schritt "Installationsordner" die Option "InstallAllUsersVisible" auf TRUE gesetzt ist.

Führe ich das Setup unter Windows XP aus, erscheint auch folgerichtig im entsprechenden Installationsschritt eine Auswahl "Everyone/Just me". Bei der Installation unter Windows 7 fehlt diese Auswahl und die Option "EveryOne" wird offensichtlich als default angenommen. Warum ist das so?

Danke im Voraus für eine Erklärung des Phänomens.

Ein böser Folgeeffekt ist, dass damit eine Ausführung des Setups als Nicht-Administrator unmöglich wird (You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation ... bla bla bla).

Installiere ich dagegen als Admin und starte dann als Nichtadmin das Programm, gibt es ebenfalls eine Fehlermeldung wegen nicht ausreichender Zugriffsrechte und das Programm wird beendet.

Vielleicht weiss jemand, wie ich unter Windows 7 eine Installation für einen Nutzer ohne Adminrechte hinbekommen kann?

Gruß, Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

G
538 Beiträge seit 2008
vor 12 Jahren

Installiere ich dagegen als Admin und starte dann als Nichtadmin das Programm, gibt es ebenfalls eine Fehlermeldung wegen nicht ausreichender Zugriffsrechte und das Programm wird beendet.

Dann ist aber was anderes auch noch falsch...

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

Dann ist aber was anderes auch noch falsch...

Ehrlich?

Mein Post war dazu gedacht, herauszufinden, was falsch ist!

Deshlb gibt es darin auch 2 Fragen, eine nach der Erklärung des Phänomens (InstallAllUsesVisible) und eine nach der korrekten Erstellung eines Setups unter Windows 7 für einen Nutzer ohne Adminrechte.

Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

G
538 Beiträge seit 2008
vor 12 Jahren

Ja - ehrlich (entschuldigung - ich konnte es mir nicht verkneifen)

Also: Wenn du dein Programm als Admin installierst (so wie zum Beispiel Office, IE, FireFox, uva), dann ist eine Fehlermeldung wegen der Rechte nach dem Programmstart eher ein Problem des Programms und nicht des Installers.
Also zum Beispiel, wenn du Daten in das Programmverzeichnis schreibst, dann ist das schlicht am Falschen Ort (Forensuche wird da helfen).

Warum das "für alle installieren" nicht sichtbar ist - kann ich dir nicht sagen. Eventuell liegt es aber an einer Default-Einstellung des Installers.
Im Übrigen:
Um ein Programm nach C:\Programme\ zu installieren benötigst du in Win7 so oder so Admin-Rechte

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

Hier noch ein Nachtrag:

Bei der Installation unter Windows 7 fehlt die Auswahl "Everyone/Just me" nur, wenn ich als Nichtadministrator installiere. Aber wenn ich das richtig verstanden habe, brauche ich für die Installation in den Programmordner ja sowieso Adminrechte. Diesen Teil habe ich jetzt verstanden.

Also zum Beispiel, wenn du Daten in das Programmverzeichnis schreibst, dann ist das schlicht am falschen Ort

OK, das ist korrekt. In meinem Fall geht es aber darum, Dateien aus dem Programmverzeichnis zu lesen oder weitere Applikationen zu starten, die sich ebenfalls im Programmverzeichnis befinden (Client-Server-Architektur, Client startet Serveranwendung). Ist auch das im Programmverzeichnis nicht erlaubt?

Danke schon mal,
Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

Wenn der Admin das Programmpaket außerhalb des Programmordners installiert, kann der Nichtadminbenutzer fehlerfrei damit arbeiten.

Aber kann das der Sinn der Sache sein?

Danke, Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

1.820 Beiträge seit 2005
vor 12 Jahren

Hallo!

@Christel:
Dann solltest du die entsprechenden Daten / Dateien entwedert ale Resource in dein Programm einarbeiten, oder bei der Installation in die dafür vorgesehenen ProgramData-Ordner packen, also z.B. für AllUser oder für den installierenden Benutzer.
Kommt halt darauf an, ob diese Daten / Dateien veränderbar sein sollen oder eher nicht.

Nobody is perfect. I'm sad, i'm not nobody 🙁

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

Kommt halt darauf an, ob diese Daten / Dateien veränderbar sein sollen oder eher nicht.

Wie schon geschrieben, sollen die Daten nicht veränderbar sein:

In meinem Fall geht es aber darum, Dateien aus dem Programmverzeichnis zu lesen oder weitere Applikationen zu starten, die sich ebenfalls im Programmverzeichnis befinden (Client-Server-Architektur, Client startet Serveranwendung).

Dann solltest du die entsprechenden Daten / Dateien entwedert ale Resource in dein Programm einarbeiten, oder bei der Installation in die dafür vorgesehenen ProgramData-Ordner packen

Speziell für den Fall der Serveranwenung sehe ich das als komplett unrealistisch an. Solch eine Anwendung (*.EXE) gehört für mich grundsätzlich in den Programmordner. Und mit in die Ressource geht gar nicht, da es eine Serverandendung für verschiedene Clients ist, es handelt sich um ein Programmpaket.

Danke, Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

P
660 Beiträge seit 2008
vor 12 Jahren

Hallo,

vllt hast du ja bei FileAccess ein ReadWrite drinne oder bei FileMode ein OpenCreate?
Du kannst ja mal im Startblock ein Try-Catch einbauen und die InnerException genauer betrachten

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

vllt hast du ja bei FileAccess ein ReadWrite drinne oder bei FileMode ein OpenCreate? Du kannst ja mal im Startblock ein Try-Catch einbauen und die InnerException genauer betrachten

Der FileMode beim File.Open() ist FileMode.Open.
Die Exception sagt schlicht und einfach "Zugriff verweigert".
Inner Exception muss ich mir anschauen.

Gruß Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo Christel,

wie schon von ProGamer gesagt musst du der FileAccess stimmen. Wenn du nichts angegeben hast, wird vermutlich (fälschlich) FileAccess.ReadWrite verwendet.

herbivore

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

Wenn du nichts angegeben hast, wird vermutlich (fälschlich) FileAccess.ReadWrite verwendet.

Jetzt hab ich's endlich verstanden.
Nein, bisher gebe ich nur Pfad und FileMode an, den Parameter FileAccess habe ich übersehen. Danke, werde ich mal probieren.

Gruß, Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 12 Jahren

Funzt prima, vielen Dank,
Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.