AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

Ein Thema von Guido Eisenbeis · begonnen am 9. Jan 2020 · letzter Beitrag vom 10. Jan 2020
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#1

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:53
Wenn sich das externe 64bit-Programm nicht starten lässt, weil es sich um ein 32Bit-Windows handelt, kannst Du Dir den Rest der Prüfung doch sparen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:59
Wenn sich das externe 64bit-Programm nicht starten lässt, weil es sich um ein 32Bit-Windows handelt, kannst Du Dir den Rest der Prüfung doch sparen.
Nicht schlecht, Herr Specht!

Aber wie soll ich es starten, wenn ich nicht weiß wo es installiert ist?

Gibt es denn einen virutellen Ordner Pfad oder was ähnliches, der auf allen Windowsen gleich ist? Wie heißt denn "Program files" z. B. in einem französichen Windows, oder einem kroatischen? Chinesisch ist auch nicht schlecht.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 08:22
Gibt es denn einen virutellen Ordner Pfad oder was ähnliches, der auf allen Windowsen gleich ist? Wie heißt denn "Program files" z. B. in einem französichen Windows, oder einem kroatischen? Chinesisch ist auch nicht schlecht.
Ich nehme an, du hast ein deutsches Windows installiert?
Tippe doch in eine beliebige Windows Explorer Addresszeile das englische "C:\Program files" (ja, ohne Anführungszeichen) und schaue wo du rauskommst!


Des Weitern würde ich mal in die Windows Registry nachschauen, ob dieses ominöse "ExternalProg" ggf. den Informationen zu seinen Aufenthaltsort abspeichert.
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 08:54
Tippe doch in eine beliebige Windows Explorer Addresszeile das englische "C:\Program files" (ja, ohne Anführungszeichen) und schaue wo du rauskommst!
Das ist klar, aber ohne Bestätigung und / oder Gegenprüfung kann ich zwar vermuten (was ich ja auch habe) aber nicht gleich darauf schließen, dass das z. B. im kyrillischen oder chinesischen genauso ist.

Des Weitern würde ich mal in die Windows Registry nachschauen, ob dieses ominöse "ExternalProg" ggf. den Informationen zu seinen Aufenthaltsort abspeichert.
Leider nicht zuverlässig, da man zu allem Überfluss das ExternalProg auch portable installieren kann. Aber gute Idee!

Die Ordner heißen immer Program Files bzw. Program Files (x86). Die Übersetzungen sind nur Links. So verweist "C:\Programme" hier unter einem 64-Bit Programm auf "C:\Program Files".
Das wäre die ideale Lösung, da ich in meinem Code die Ordner "halb-hart"-codiert abklappere:
Delphi-Quellcode:
FileExists('C:\Program Files\ExampleFolder\ExternalProg.exe') ...
FileExists('C:\Program Files (x86)\ExampleFolder\ExternalProg.exe') ...
Ist das auch in chinesisch, kroatisch, usw. so? Bitte nicht falsch verstehen, ich will nur sicher gehen. Nach all dem Suchen wäre somit die Lösung so einfach, oder?

Liegen die Ordner immer im LW-Root? Also könnte ich das abklappern: C:\Program Files, D:\Program Files, E:\Program Files usw?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#5

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 08:23
Die Ordner heißen immer Program Files bzw. Program Files (x86). Die Übersetzungen sind nur Links. So verweist "C:\Programme" hier unter einem 64-Bit Programm auf "C:\Program Files".
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 08:37
Wenn du wissen willst, ob ein Programm installiert ist, dann schau doch in
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win dows\CurrentVersion\Uninstall
und
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\Uninstall
nach.

Im Wert "InstallLocation" ist der Ordner drin.

Wenn es sich um ein MSI handelt, dann kannst du den Windows-Installer über die API direkt abfragen.
Wenn du eine bestimmte Funktion davon braucht, könnte man auch auf eine Komponente prüfen.
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 09:10
Wenn du wissen willst, ob ein Programm installiert ist, dann schau doch in
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win dows\CurrentVersion\Uninstall
und
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\Uninstall
nach.

Im Wert "InstallLocation" ist der Ordner drin.
Kann das Auslesen des RegKeys nicht umgeleitet werden, wenn ich mit MyProg_32_bit nachsehen will auf dem 64 bit Registry-Zweig? Schon probiert?
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win dows\CurrentVersion\Uninstall

Ansonsten eine gute Idee! Werde ich mir ansehen. Mit der Möglichkeit "Program Files" und "Program Files (x86)" zu benutzen, müsste man immer noch die LWs abklappern. Wenn dein Vorschlag mit der Registry funktionieren würde, hätte man gleich den Pfad inkl Unterordner. Bleibt nur zu hoffen, dass die portable Version von ExternalProg nur selten verwendet wird.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#8

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 09:12
Wenn sich das externe 64bit-Programm nicht starten lässt, weil es sich um ein 32Bit-Windows handelt, kannst Du Dir den Rest der Prüfung doch sparen.
Nicht schlecht, Herr Specht!

Aber wie soll ich es starten, wenn ich nicht weiß wo es installiert ist?
Ich meinte Dein eigenes 64Bit-Programm, welches Dir den Pfad ermitteln soll. Das muss dann eben in einem festgelegten Ordner liegen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.780 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 09:23
.. ein portables Programm kann irgendwo installiert werden,
Es muss nicht zwangsläufig in Program Files oder Program Files(x86) liegen.

Wenn Du die finden willst, musst Du die ganze Platte durchsuchen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 09:27
.. ein portables Programm kann irgendwo installiert werden,
Es muss nicht zwangsläufig in Program Files oder Program Files(x86) liegen.

Wenn Du die finden willst, musst Du die ganze Platte durchsuchen.
Da hast du Recht. In dem Fall hätte ich schlechte Karten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:53 Uhr.
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