"Thomas D." <dnr@discussions.microsoft.com> schrieb im Newsbeitrag
news:nwln4bj0fmd4.6cw9dvk21w3m.dlg@40tude.net...
> Hallo,
>
> Thomas Raasch schrieb:
>
>> Ich bin gespannt, welche Tipps ihr habt!
>
> Informiere dich bitte über UAC (=Benutzerkontensteuerung).
>
> Kurze Erklärung des Problems:
> Unter <Windows Vista wird euer Programm soweit arbeiten, da hier die
> Anwender meistens Administratoren waren und somit nach %programfiles%
> schreiben konnten.
>
> Unter Windows Vista sind selbst Mitglieder der Gruppe "Administratoren"
> standardmäßig nur Benutzer. Somit läuft die Anwendung auch nur mit diesen
> Rechten und kann eben *nicht* nach %programfiles% schreiben.
> Damit deine Anwendung daran nicht direkt scheitert, wird der Zugriff
> virtualisiert - du denkst "Hat alles gekappt" 
>
> Lösung:
> Führe die Update-Anwendung explizit als Administrator aus (Rechtsklick ->
> Ausführen als...; Bei Skripten evtl. aus einer administrativen
> Eingabeaufforderung starten).
>
>
> Wie gesagt:
> Informiere dich über UAC - gerade als Entwickler.
> Auch solltest du dir Gedanken machen ob es nicht Zeit wäre, die
> Installations-/Updateroutinen auf Windows Installer Basis zu bauen...
>
>
> --
> Grüße,
> Thomas
Hi,
ja das Problem und UAC usw. ist ja bekannt... man kann nicht mehr nach
%Programfiles% schreiben
Die Frage bleibt: wie umgeht man das?
Hier 5 Ansätze:
1)
Eine Möglichkeit wäre tatsächlich der Einsatz des Windows-Installers -
richtig, aber:
- Lizenzkosten!?
- für ein Update von 200 KB muss ich dann immer ein komplettes
Installerpaket versenden
- intern "umgeht" der Windows-Installer auch nur dieses Problem, indem er
einfach nur den VirtualStore aller Nutzer löscht.... toll
- meine Versionsverwaltung ist dahin (es ist auch notwendig mal auf eine
alte Version zu downgraden!)
2)
Meine Idee wäre gewesen, dass ich mein Programm auszeichnen kann als "gutes
Programm" welches einfach nicht mehr im VirtualStore gespeichert wird.
Funktionieren muss sowas, da es viele Windows-Programme so machen - aber
wie???
3)
Ich hab etwas vom TrustInfo Manifest gehört, bin mir aber nicht sicher ob
dies das Problem löst und vor allem glaube ich, dass dann bei jedem Start
der Anwendung eine Benutzerbestätigung kommt - der Desktop also abdunkelt
und man auf Fortsetzen klicken muss. Absolut inakzeptabel.
4)
UAC abschalten wäre eine weitere Möglichkeit (wenn ich mich nicht irre) -
aber davon möchte ich natürlich absehen.
5)
Eine weitere Möglichkeit (ich kam noch nicht zum Testen) soll sein, dass ich
meine Anwendung einfach unter C:\MyApp installiere und nicht unter
C:\Program Files\MyApp da eben nur %Programfiles% (und Windows-Ordner)
geschützt ist.... Wenn das gehen sollte stellt sich mir aber die Sinnfrage
des ganzen VirtualStores, da dann einfach niemand mehr nach C:\Program Files
installiert und gut ist.
Bzw. was passiert wenn ich die Umgebungsvariable %programfiles% umleite nach
C:\Testordner - hab ich dann plötzlich Zugriff auf C.\Program Files?
Aber diesen Punkt muss ich erst noch austesten
btw. Es handelt sich um ein Access-Front-End. D.h. allein beim Start der
Anwendung wird die Programm-Datei verändert (ohne das tatsächlich was getan
wird) und schwups gehts ab in den VStore.
Grüße zurück

Thomas