AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Starten von MSC-Dateien

Ein Thema von rudi01 · begonnen am 1. Mär 2022 · letzter Beitrag vom 1. Mär 2022
Antwort Antwort
rudi01

Registriert seit: 1. Dez 2004
11 Beiträge
 
#1

Starten von MSC-Dateien

  Alt 1. Mär 2022, 12:00
Moin @all,

ich habe ein Programm in Delphi (32bit) geschrieben, dass Programme starten soll und auch kann. Das funktioniert gut.
Aktuelle System Win10 64 bit Delphi XE3

Nun habe ich 'certmgr.msc' gestartet:
- aus Delphiprogramm - funktioniert
- aus Ausführen-Dialog vom Startmenü - funktioniert

Nun will ich 'printmanagement.msc' starten
- aus Ausführen-Dialog - funktioniert
- aus Delphiprogramm - Fehlermeldung 'Datei nicht gefunden'

(Also immer nur Eingabe ohne Pfad)
Auch bei anderen *.msc Dateien funktioniert das gut, wird gefunden.

Warum wird 'printmanagement.msc' nicht gefunden?
Welche von den vielen in C:\ hinterlegten *.msc Dateien wird denn eigentlich gestartet?

C:\Windows\System32
C:\Windows\System32\de-DE
....

Warum funktioniert das beim 'Ausführen' -Dialog?

-------------------------------

Debuggen hilft hier auch überhaupt nicht weiter, denn genau diese Fehlermeldung ist ja der Breakpoint ... den ich zZt.
überhaupt nicht zuordnen kann.

In meinem Programm:

Eine *.msc funktioniert, eine andere *.msc nicht,

Unter Win10/64 funktioniert es nicht, unter Win7/64 jedoch.

Das Problem ist überhaupt nicht lebensnotwendig, doch Ihr kennt das ja bestimmt auch: Man will die Ursache erkennen!

Hat jemand einen Tipp?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#2

AW: Starten von MSC-Dateien

  Alt 1. Mär 2022, 12:30
Eine Reihe von MMC Snap-ins liegen ausschließlich im %SystemRoot%\system32. 32-bit Programme kommen dort aber (standardmäßig) nicht ran, weil sie von WOW64 umgeleitet werden auf %SystemRoot%\SysWOW64. Mit anderen Worten: Ohne weitere Maßnahmen ist für 32-bit Programme %SystemRoot%\system32 = %SystemRoot%\SysWOW64. Für 64-bit Programme sind diese beiden Verzeichnisse aber nicht identisch.

Um dennoch von einem 32-bit Programm 64-bit Programme zu starten, gibt es zwei Möglichkeiten:
  • den Alias SysNative statt system32 benutzen. Das ist absolut nicht zu empfehlen, zum einen weil hardkodierte Pfade pfui sind und zum anderen weil es dann nicht mehr unter 32-bit Windows funktioniert, und bestimmt gibt's noch mehr Gründe
  • die Umleitung durch WOW64 temporär deaktivieren und danach wieder zu aktivieren: MSDN-Library durchsuchenWow64DisableWow64FsRedirection und MSDN-Library durchsuchenWow64RevertWow64FsRedirection.
    Das Deaktivieren der Umleitung sollte natürlich nur bei 32-bit Programm auf 64-bit Windows erfolgen. Es ist der bevorzugte Weg für solche Fälle.

Grüße
Dalai
  Mit Zitat antworten Zitat
rudi01

Registriert seit: 1. Dez 2004
11 Beiträge
 
#3

AW: Starten von MSC-Dateien

  Alt 1. Mär 2022, 14:31
Hallo @Dalai,

nun erstmal vielen Dank für die Antwort.
Bin am eigentlichen Rechner, habe es durchdacht und es funzt.

BG Rudi

PS War meine Frage einigermaßen verständlich?

Geändert von rudi01 ( 1. Mär 2022 um 21:20 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 14:47 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