AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi .exe Dateien kleiner / UPX-Windows-7 Problem / ntdll.dll
Thema durchsuchen
Ansicht
Themen-Optionen

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

Offene Frage von "berens"
Ein Thema von berens · begonnen am 13. Nov 2009 · letzter Beitrag vom 18. Feb 2010
Antwort Antwort
Seite 4 von 4   « Erste     234   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#31

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

  Alt 18. Feb 2010, 13:20
Hallo,

Zitat:
Prüft die .exe beim Programmstart vor initialization vielleicht, ob die angegebenen .dll Dateien vorhanden sind und die Funktionen/Prozeduren exportieren, die ich verwende?
Nein, die Exe nicht, aber Windows selbst !
Beim Start der Exe werden auch die beiden DLL's geladen
und deren Methoden-Adressen an die Ladeadressen "angepaßt".

Es sein, dass beim Start der Exe über den Installer das Install-Verzeichnis
also Anwendungs-Verzeichnis genommen wird.
Dann findet Windows beim Start deiner Exe natürlich die Dlls nicht.

Ich würde mal folgendes machen
c:\temp anlegen
Install nach c:\temp\

Und auch nach c:\temp installieren !


Heiko
Heiko
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#32

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

  Alt 18. Feb 2010, 13:29
Hi,

sag mal berens, verwendest Du EurekaLog? Sieh laut einem Deiner obigen Posts so aus (Unit ExceptionLog).

Fall ja, dann ist es das:
http://news.eurekalog.com/showthread.php?t=2622

Wird im nächsten RC von EurekaLog wohl gefixt.

Gruß,
Assertor
Frederik
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#33

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

  Alt 18. Feb 2010, 13:54
Ich hatte tatsächlich EurekaLog installiert. Dieses habe ich nun komplett deinstalliert und aus allen Projekten die Verweise darauf entfernt. Danach neu kompiliert: Fehler immernoch da.

Ich habe nun mit Himatsu's Manifest-Create ein Manifest erstellt, es als Resource im selben Ordner wie das Projekt kompiliert und dann in die Projekt-Quelltext Unit eingefügt {$R w7.res}. Leider keine Besserung. Weitere Vorschläge?

Das Manifest. Zu Testzwecken mit Administrator Rechten.
Delphi-Quellcode:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    version="0.0.0.0"
    processorArchitecture="X86"
    name="welcome-soft"
    type="Win32"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="true"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
  </compatibility>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
</assembly>
Das Manifest schein nicht korrekt zu funktionieren.

Wenn ich die identische .exe (mit Fehlermeldung) nach dieser Anleitung: http://www.virtual-cbfunk.de/Win7.htm starte (im Klatsch&Tratsch Forum verpöhnt; jetzt bitte keine Diskussionen um den Programmierstiel etc), funktioniert das Programm tadellos ohne eine einzige Fehlermeldung.

Was mache ich falsch?

Bzw.: Kann ich über ShowMessage oder so ausgeben, mit welchen Rechten das Programm jetzt tatsächlich gestartet wurde? Im Taskmanager steht die .exe immer mit dem aktuellen Benutzername drinnen.

Edit: Den Post von Hoika eben erst gesehen.
Hoika: Das "aktuelle" Problem dreht sich ja drum, dass der Fehler sogar bei Compilieren&Starten durch Delphi auftritt. Wenn ich das Programm über rechte Maustaste "als Admin starten" ausführe, kommt die Fehlermeldung nicht. Also ist das denke ich kein Problem mit den Pfaden. (Regulär bin ich im Moment auch Admin, btw.)

Kann es sein, dass die beiden .dll's auch die .res Datei mit dem Manifest brauchen?

Edit: Es scheint so als würde es nun funktionieren, nun, da die .dll Dateien auch das Manifest eingebunden haben. Da das Problem generell ja eher zufällig autritt, kann ich es aber noch nicht abschließend sagen.

Wenn das Problem gelöst ist, ist nun die Frage: Funktioniert es, weil das Manifest auch in den dlls eingebunden ist (generell) oder weil das Manifest den dlls (im Moment) Admin rechte gibt.

Auf Deutsch: War es nun ein Kompatibilitäts- oder ein Zugriffsrechteproblem?

Ich muss es demnächst nochmal mit einem Manifest mit normalen Benuterrechten testen. Bin mal gespannt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz