Wir haben eine x86 Win32 Desktop-Anwendung. Wenn das Installationsprogramm von einem Standardbenutzer (Nicht-Administrator) ausgeführt wird, vermeiden wir es, eine UAC-Eingabeaufforderung zu erhöhen und/oder anzuzeigen, und installieren Sie unter C:\Users\username\AppData\Roaming\...
anstelle des allgemeinen Verzeichnisses Program Files
.Wie kann verhindert werden, dass das Deinstallationsprogramm für Windows 10 Benutzer ansteigt?
Wenn unter Windows 10 unser Deinstallationsprogramm von Control Panel -> Programs -> Programs and Features
gestartet wird, wird keine UAC-Eingabeaufforderung angezeigt und das Deinstallationsprogramm wird ohne Erhöhung ausgeführt. Dies ist das gewünschte Verhalten. Wenn dasselbe Deinstallationsprogramm von Start -> Settings -> System -> Apps & features
gestartet wird, wird eine UAC-Eingabeaufforderung angezeigt.
(Das gleiche Verhalten kann in dem Opera-Browser Installations-/Deinstallationsprogramm zu sehen. Ich testete v35.0.2066.37.)
Warum anders das gleiche Uninstaller verhält, wenn sie von Apps & features
gegen Programs and Features
ins Leben gerufen?
Wie kann die UAC-Eingabeaufforderung vermieden werden, wenn das Deinstallationsprogramm von Apps & Funktionen gestartet wird?
Das Manifest unserer Deinstallationsprogramm beinhaltet dies:
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" />
</requestedPrivileges>
</security>
</trustInfo>
ich die requestedExecutionLevel
versucht zu ändern, und versuchte auch trustInfo
vollständig zu entfernen, aber es gab keine Veränderung im Verhalten oder so.
Getestet unter Windows 10 Version 1511 Build 10586.104.
Bearbeiten: Nur um zu klären, der Fall, den ich versuche zu behandeln ist, wo der Benutzer einen Standard-Account hat und nicht das Passwort eines Admin-Kontos kennt. Wenn sie eine UAC-Eingabeaufforderung sehen, wenn sie versuchen, sie zu deinstallieren, haben sie keine andere Wahl als sie abzubrechen, und unser Deinstallationsprogramm wird nicht ausgeführt.
Ich habe gerade den Morgen mit diesem "Feature" verbracht. Der einzige Ansatz, der für uns funktionierte, bestand darin, das Deinstallationsprogramm als aktuellen Benutzer neu zu starten. Hier ist eine Beschreibung des Ansatzes, der Explorer verwendet, um die ausführbare Datei neu zu starten: http://brandonlive.com/2008/04/27/getting-the-shell-to-run-an-application-for-you -Teil-2-how/ wir verwenden NSIS, so konnten wir die ShellExecAsUser Plug-in, verwenden, die auf dem ersten Link basiert: http://nsis.sourceforge.net/ShellExecAsUser_plug-in –
I Nehmen wir an, dass dies nicht das primäre Problem angeht, aber für uns besteht die Sorge, dass die Deinstallation fehlschlägt, wenn sie auf erhöhte Ebene ausgeführt wird, da sie auf HKCU und LocalAppData zugreifen muss.Das Problem der Höhenverhinderung wird dadurch nicht behoben, aber selbst eine CurrentUser-Installation von Chrome (und wie Sie bereits bemerkt haben, Opera) leidet unter dem gleichen Problem mit der Höhenangabe von Windows 10 bei der Deinstallation von Apps und Funktionen. Daher reicht es aus, dies nicht zu tun scheitern und als aktueller Benutzer ausgeführt werden, unabhängig davon, ob er auf Hoch gesetzt ist oder nicht. –