Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll (https://www.delphipraxis.net/143322-exe-dateien-kleiner-upx-windows-7-problem-ntdll-dll.html)

berens 13. Nov 2009 11:46

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Also ich habe jetzt auch versucht mich über RemoteDebugger zu verbinden. Problem: Die (zwei) Fehlermeldungen nach dem Aufruf durch den NSIS Installer kommen vor der ersten Gelegenheit, mich mit dem Prozess zu verbinden:

Delphi-Quellcode:
program Project1;

uses
  ExceptionLog,
  Forms,
  uProject1_Main in 'uProject1_Main.pas' {frmMain},
  uProject1_Events in 'uProject1_Events.pas',
  uProject1_EventCopy in 'uProject1_EventCopy.pas' {frmEventCopy},
  uProject1_frmMemo,
  uProject1_LivePreview2 in 'uProject1_LivePreview2.pas' {frmLivePreview},
  uProject1_frmSort in 'uProject1_frmSort.pas' {frmSort},
  uProject1_frmWarning in 'uProject1_frmWarning.pas' {frmWarning},
  dialogs
  ;

{$R *.res}

begin
  showmessage('Jetzt Debugger verbinden!');

  Application.Initialize;

  Application.CreateForm(TfrmMain, frmMain);
  Application.CreateForm(TfrmEventCopy, frmEventCopy);
  Application.CreateForm(TfrmMemo, frmMemo);
  Application.CreateForm(TfrmLivePreview, frmLivePreview);
  Application.CreateForm(TfrmSort, frmSort);
  Application.CreateForm(TfrmWarning, frmWarning);

  Application.Run;
end.
Da alle .OnCreate Ereignisse etc. und initialization erst nach der ShowMessage kommen, dürfte der Fehler ansich nicht bei mir liegen, oder? Die Fehlermeldung kommt schließlich vor ShowMessage.

Assertor 13. Nov 2009 11:51

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Zitat:

Zitat von berens
Da alle .OnCreate Ereignisse etc. und initialization erst nach der ShowMessage kommen, dürfte der Fehler ansich nicht bei mir liegen, oder? Die Fehlermeldung kommt schließlich vor ShowMessage.

Kann trotzdem sein: Vor der VCL App.Initialize werden alle Initializations der Units durchlaufen. Wenn dort irgendwo etwas falsch ist knallt es vor dem ShowMessage.

Gruß Assertor

Bernhard Geyer 13. Nov 2009 11:59

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Hast du eine COM/Automatisierung-Schnittstelle die registriert werden muss?
Was passiert wenn du die Anwendung mit Adminrechten (Klick auf Exe -> Aufruf Kontextmenu) startest?

GPRSNerd 13. Nov 2009 12:01

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Ich komprimiere meine Executables ebenfalls mit UPX 3.04w (aber ohne jegliche weitere Parameter) und hier laufen alle Programme unter Win7 32bit/64bit einwandfrei.

berens 13. Nov 2009 12:11

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
> Hast du eine COM/Automatisierung-Schnittstelle die registriert werden muss?
Ja, ich brauche unter anderem MSXML, welches z.B. CoInitialize(NIL) benötigt.

> Was passiert wenn du die Anwendung mit Adminrechten (Klick auf Exe -> Aufruf Kontextmenu) startest?
1) Ich bin Admin, weiss aber nicht, wie das Programm (mit welchen Rechten) gestartet wird, wenn ich die .exe Datei doppelklicke.
2) Mit einem Doppelklick auf die .exe klappt alles und es kommt keine Fehlermeldung.
3) Installer im Kompatibilitätsmodus laufen lassen bring auch _keine_ Fehlermeldung, wenn anschließend meine .exe gestartet wird.
4) Ohne Kompatibilitätsmodus kommt die Fehlermeldung, wenn der Installer meine .exe (ohne Adminrechte) startet. Ich wüsste jetzt nicht auf die Schnelle, wie ich NSIS beibringe, die nachfolgende .exe mit Admin-Rechten zu starten.

OldGrumpy 13. Nov 2009 12:14

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Zitat:

Zitat von berens
Interessanterweise bekomme ich diese Fehlermeldung aber immernoch, wenn ich das Programm direkt im Anschluß an (aber durch) den NSIS Installer starten lasse ("Project1.exe nach beendigung der Installation starten"), auch wenn Project1.exe nicht komprimiert ist...

Das könnte mit den Rechten zusammenhängen. Wenn das Programm vom Installer gestartet wird, bekommt es je nach Installer die Rechte des Installprozesses oder halt nur eingeschränkte Rechte. Wenn das Programm auf die Rechte gemäß seinem Manifest angewiesen ist, kann es hier zum Problem kommen. Das lässt sich nur langwierig debuggen, empirisch testen ist vermutlich schneller :)

Bernhard Geyer 13. Nov 2009 12:23

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Zitat:

Zitat von berens
Ich bin Admin, weiss aber nicht, wie das Programm (mit welchen Rechten) gestartet wird, wenn ich die .exe Datei doppelklicke.

Bei aktiver UAC - ohne Adminrechte.
Deshalb ja der Test.

berens 13. Nov 2009 13:41

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
UAC ist bei mir standardmäßig aus. Eben mal mit UAC auf Standardeinstellungen getestet, selbes Problem.

Das mit "rechte Maustaste" - "als Admin ausführen" kann ich ja nicht machen, da die Fehlermeldung _nur_ auftritt, wenn die .exe vom NSIS Installer selbst gestartet wird.

Wenn ich den Installer als Admin ausführe, ändert das nichts, Fehlermeldung bleibt.

generic 13. Nov 2009 15:04

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Zitat:

Zitat von berens
Interessanterweise bekomme ich diese Fehlermeldung aber immernoch, wenn ich das Programm direkt im Anschluß an (aber durch) den NSIS Installer starten lasse ("Project1.exe nach beendigung der Installation starten"), auch wenn Project1.exe nicht komprimiert ist....

Klingt für mich als ob du Probleme mit dem UAC hast.

Edit:
Huch, der Beitrag war wohl länger auf.
Ihr habt es ja schon, also vergesst das hier mal.

berens 13. Nov 2009 15:08

Re: .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
 
Selbst wenn ich Probleme mit der UAC habe... Wie bekomme ich das raus, bzw. wie finde ich den Fehler in meinem Delphi-Programm? Ich kann das Problem ja nicht nachvollziehen (weder als normaler Benutzer, noch als Admin). Es tritt ja nur auf, wenn durch NSIS aufgerufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz