Frage

Ich habe eine 32-Bit-Anwendung auf ich arbeite, dass die Ziele .NET 3.5; VS2010 ist mein Entwicklungs-Tool. Meine App Rechte für eine Vielzahl von Dingen erhöht erfordert, so dass ich eine Anwendung manifest dafür haben, dass die folgende Zeile in sich hat:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Weil es das Richtige zu tun ist, ich habe auch die Linien in dem Manifest, dass die Anwendung anzuzeigen, mit Windows 7 und Windows Vista kompatibel ist:

<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>

Die App läuft sehr gut auf Windows 7 und Windows Vista. Es erscheint sofort die UAC-Eingabeaufforderung auf, es nicht von Registry-Virtualisierung betroffen erhalten, usw. Das Manifest eindeutig arbeitet dort.

jedoch auf 2008 R2 keines dieser Dinge sind wahr. UAC-Eingabeaufforderung nicht angezeigt. Registry-Virtualisierung geschieht (mein Hauptproblem). Es ist wie es vollständig ist meine Anwendung manifestieren zu ignorieren. Ich habe keine Ahnung, wo oder was zu überprüfen. Ich habe genau die gleichen Bits auf 7, Vista und 2008 R2 laufen und erhalten genau die gleichen Ergebnisse jedes Mal. Mein 2008 R2 Vanille ist vollständig installieren, da es für die Prüfung nur ein frisch installierte VM ist.

Auch ich bin ziemlich sicher, dass Server 2008 agiert wie 2008 R2, im Grunde das Manifest zu ignorieren. Jede Hilfe wäre sehr geschätzt!

War es hilfreich?

Lösung

Ich habe die seltsame Antwort auf meine eigene Frage herausgefunden, obwohl es in zwei Teilen:

  • Aus irgendeinem Grund bin ich nicht ein UAC-Prompt bekommen in beiden 2008 oder 2008 R2, aber in beiden Fällen ist die App wird immer richtig erhöht und die Virtualisierung von Anwendungen ist deaktiviert richtig.

  • Meine app, sind 32-bit, wurde in den Wow6432Node Registrierungsschlüssel zu schreiben, also dachte ich, Virtualisierung geschieht, weil meine Änderungen nicht auftauchen. Wenn ich auf 2008 x86 getestet hatte, die ich hatte nicht, hätte ich festgestellt, dass die Änderungen dort auftauchen, aber nicht in den x64-Betriebssystemen.

Andere Tipps

Server 2008 R2 hat UAC standardmäßig deaktiviert. Wenn es ausgeschaltet ist, dann Benutzer aus Gruppe Administratoren haben volle Admin-Rechte und Nicht-Admin-Benutzer nicht in Anspruch genommen haben und können nicht in ein Administrator-Konto erhöht werden.

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