Einzelnen Beitrag anzeigen

ringli

Registriert seit: 7. Okt 2004
509 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi 2007, Vista und UAC

  Alt 29. Aug 2007, 00:07
Ich bin neulich über etwas gestolpert was mich doch sehr gewundert hat. Und zwar erstelle ich als einfacher Benutzer unter Vista mit Delphi 2007 eine ganz einfache Anwendung. Diese kann ich auch problemlos compilieren bzw. starten. Jetzt deaktiviere ich in den Projektoptionen unter "Anwendung" die Checkbox "Laufzeit-Themes aktivieren" und füge anschliessend über die Projektverwaltung mein eigenes Manifest hinzu. Nun versuche ich die Anwendung zu compilieren bzw. zu starten. Erwartungsgemäß funktioniert das problemlos.

Wenn ich jetzt in meinem Manifest den folgenden Abschnitt von
Code:
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
in
Code:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
ändere, kann ich meine Anwendung weiterhin problemlos compilieren. Versuche ich aber die Anwendung über die IDE zu starten, erhalte ich folgende Fehlermeldung:
Code:
Vorgang kann nicht erzeugt werden.

Details:
[208D5148]{dbkdebugide100.bpl} Debug.TDebugger.DBKError (Line 11416, "Debug.pas" + 3) + $23
[208A2DB1]{dbkdebugide100.bpl} DbkHelper.CheckRetVal (Line 268, "DbkHelper.pas" + 4) + $8
[208A2D31]{dbkdebugide100.bpl} DbkHelper.ErrCode (Line 249, "DbkHelper.pas" + 1) + $2
[208C7A8E]{dbkdebugide100.bpl} Debug.TDebugKernel.CreateProcess (Line 5056, "Debug.pas" + 14) + $2
[208D2E69]{dbkdebugide100.bpl} Debug.TDebugger.DoCreateProcess (Line 10374, "Debug.pas" + 29) + $36
[208D2F7C]{dbkdebugide100.bpl} Debug.TDebugger.CreateProcess (Line 10400, "Debug.pas" + 6) + $2B
[208D3AB2]{dbkdebugide100.bpl} Debug.TDebugger.Run (Line 10840, "Debug.pas" + 50) + $2D
[208D423E]{dbkdebugide100.bpl} Debug.TDebugger.Run (Line 11091, "Debug.pas" + 70) + $37
[208CF162]{dbkdebugide100.bpl} Debug.TDebugger.Run (Line 8973, "Debug.pas" + 0) + $2
[20A53D8D]{coreide100.bpl} DebuggerMgr.TDebuggerMgr.Run (Line 1410, "DebuggerMgr.pas" + 4) + $F
[004160E3]{bds.exe    } AppMain.TAppBuilder.RunRun (Line 2981, "ui\AppMain.pas" + 0) + $7
[20040113]{rtl100.bpl } Classes.TBasicAction.Execute (Line 11081, "common\Classes.pas" + 3) + $7
[2014FF7D]{vcl100.bpl } ActnList.TContainedAction.Execute (Line 388, "ActnList.pas" + 1) + $2C
[20150CE0]{vcl100.bpl } ActnList.TCustomAction.Execute (Line 1000, "ActnList.pas" + 7) + $8
[2003FFDF]{rtl100.bpl } Classes.TBasicActionLink.Execute (Line 11010, "common\Classes.pas" + 2) + $7
[2013B6F9]{vcl100.bpl } Controls.TControl.Click (Line 5227, "Controls.pas" + 7) + $7
[2019A7CC]{vcl100.bpl } ComCtrls.TToolButton.Click (Line 16993, "ComCtrls.pas" + 0) + $0
[2013BB8B]{vcl100.bpl } Controls.TControl.WMLButtonUp (Line 5365, "Controls.pas" + 6) + $3E
[2013B20B]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[2013AE98]{vcl100.bpl } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
[2013EBAA]{vcl100.bpl } Controls.GetControlAtPos (Line 7095, "Controls.pas" + 4) + $73
[2013EC72]{vcl100.bpl } Controls.TWinControl.ControlAtPos (Line 7118, "Controls.pas" + 13) + $E
[2013AE98]{vcl100.bpl } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
[2013EE7D]{vcl100.bpl } Controls.TWinControl.IsControlMouseMsg (Line 7182, "Controls.pas" + 15) + $1F
[2013F244]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7269, "Controls.pas" + 76) + $6
[2019C80F]{vcl100.bpl } ComCtrls.TToolBar.UpdateButtonState (Line 18138, "ComCtrls.pas" + 5) + $1C
[2019C852]{vcl100.bpl } ComCtrls.TToolBar.UpdateButtonStates (Line 18148, "ComCtrls.pas" + 3) + $4
[2019F185]{vcl100.bpl } ComCtrls.TToolBar.WndProc (Line 19578, "ComCtrls.pas" + 80) + $6
[05542CEC]{Castalia11.bpl} Castaliaeditor.GetSourceFromModule + $2E8
[2013EAB4]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[201611EC]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8102, "Forms.pas" + 23) + $1
[20161226]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8121, "Forms.pas" + 1) + $4
[20161537]{vcl100.bpl } Forms.TApplication.Run (Line 8219, "Forms.pas" + 20) + $3
[0042298E]{bds.exe    } bds.bds (Line 196, "" + 7) + $7
Eigentlich hätte ich erwartet das hier die UAC-Abfrage erscheint, was aber nicht der Fall ist. Starte ich meine Anwendung ganz normal über den Explorer erhalte ich auch die entsprechende UAC-Abfrage.

Ist dieses Verhalten tatsächlich so beabsichtigt oder ist dies noch ein Fehler in der Delphi IDE? Im Anhang mal ein ganz kleines Testprojekt zum Testen.


Und da ich grade bei Fehlern in Delphi 2007 bin noch eine Kleinigkeit:
Die "Öffnen"-, "Projekt öffnen..."-, "Speichern"-, "Speichern unter..."- und "Projekt speichern unter..."-Dialoge der Delpi-IDE verwenden unter Vista immer noch nicht die neuen Dialoge mit den Linkfavoriten was ich sehr schade finde da diese doch sehr praktisch sind um schnell auf Projektordner zugreifen zu können. Klar könnte ich mir auch den alten Dialog entsprechend anpassen, aber das kann ja nicht der Sinn der Sache sein.

[EDIT]
Sorry, sehe grade das ich im falschen Forum gelandet bin. Eigentlich sollte das Thema bei Delphi Bugreports eingetragen werden. Könnte das ein Moderator bitte verschieben? Danke.
Angehängte Dateien
Dateityp: zip uac-test_delphi_2007_121.zip (4,9 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat