Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   DLLOCX Registrieren Contexmenu (https://www.delphipraxis.net/199141-dllocx-registrieren-contexmenu.html)

EWeiss 28. Dez 2018 19:19

DLLOCX Registrieren Contexmenu
 
Hat vielleicht jemand ein *.reg File das unter Windows 10 funktioniert um DLL's und Ocx zu registrieren\Unregistrieren ?
Registrierung funktioniert UnRegistrieren nicht.

Code:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\regsvr32.exe"="~ RUNASADMIN"

[HKEY_CLASSES_ROOT\DllFile\Shell\Register]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\DllFile\Shell\Register\Command]
@="C:\\Windows\\System32\\regsvr32.exe \"%1\""

// ************** ab hier funktioniert es nicht mit Adminrechten *************
[HKEY_CLASSES_ROOT\DllFile\Shell\Unregister]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\DllFile\Shell\Unregister\Command]
@="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""

[HKEY_CLASSES_ROOT\OcxFile\Shell\Register]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\OcxFile\Shell\Register\Command]
@="C:\\Windows\\System32\\regsvr32.exe \"%1\""

[HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister\Command]
@="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""
gruss

HolgerX 29. Dez 2018 06:09

AW: DLLOCX Registrieren Contexmenu
 
Hmm..

Wieso verwendest Du nicht direkt regsvr32?

Dieses trägt doch die Eintrage im System und Registry korrekt ein, bzw. löscht diese bei Uninstall...

Hier muss nur bei 32Bit Apps aufgepasst werden, das auf einem 64Bit System die Richtige genutzt wird.

Und Adminrechte brauchst Du bei deinen Änderungen, wie auch beim Aufruf von regsvr32 dennoch.


https://www.thewindowsclub.com/regis...l-file-windows
https://community.sophos.com/kb/en-us/14343
https://www.thewindowsclub.com/regsv...error-messages

jaenicke 29. Dez 2018 07:58

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Zitat von HolgerX (Beitrag 1422254)
Wieso verwendest Du nicht direkt regsvr32?

Das macht er doch, aber der Aufruf scheint ja nicht richtig zu funktionieren. Als Ausweichlösung kann man das natürlich auch manuell von der Kommandozeile ausführen, aber per Kontextmenü ist es natürlich einfacher.

Bei mir funktioniert das aber mit den geposteten Registryeinträgen. Die Menüeinträge sind beide da, haben das Adminschild, lassen sich auch erfolgreich inkl. Adminanforderung ausführen.

Was passiert denn, wenn du auf das Unregister klickst? Kommt eine Fehlermeldung, kommt keine Adminaufforderung, ...? Im Taskmanager sehe ich, wenn die Meldung kommt, dass die Registrierung bzw. Deregistrierung erfolgreich war, dass auch die Kommandozeile richtig aussieht. Falls eine Fehlermeldung kommt, solltest du das auch prüfen können.

HolgerX 29. Dez 2018 12:54

AW: DLLOCX Registrieren Contexmenu
 
Hmm...

Hab da nur

https://www.winhelponline.com/blog/r...-context-menu/

gefunden, scheint aber das selbe script zu sein, nur etwas anders angeordnet....

EWeiss 29. Dez 2018 17:00

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Was passiert denn, wenn du auf das Unregister klickst? Kommt eine Fehlermeldung, kommt keine Adminaufforderung, ...?
Bilder sagen mehr als Tausend worte.
Ich möchte die Quarz.dll entfernen und andere Versionen versuchen.. Win10 hat extreme Probleme damit mein Player kann so gut wie kein Video starten.
Und wenn dann nur Ton Absturz inbegriffen.

Zitat:

Falls eine Fehlermeldung kommt, solltest du das auch prüfen können.
Die sind nichtssagend und genauso fehlerhaft wie einiges andere im System.
Angeblich gibt es die Datei nicht oder wurde nicht gefunden.. obwohl ich sie offensichtlich angeklickt habe. :wall:
Zitat:

Wieso verwendest Du nicht direkt regsvr32?
Ich möchte mich nicht durch hunderte von Pfaden mit PowerShell hangeln rechtsklick, bestätigen, fertig!

Ich habe auch noch andere Scripts(Reg-Files) die das Arbeiten erleichtern. siehe Scripts.png .

gruss

jaenicke 29. Dez 2018 18:00

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Zitat von EWeiss (Beitrag 1422272)
Bilder sagen mehr als Tausend worte.
Ich möchte die Quarz.dll entfernen und andere Versionen versuchen..

Werden vorher Adminrechte angefordert? Die Fehlermeldung bedeutet nämlich "Zugriff verweigert". Solche Probleme hatte ich mal auf Systemen, auf denen z.B. kurzzeitig die Benutzerkontensteuerung deaktiviert wurde. Worauf da der Zugriff verweigert wird, sollte der Process Monitor zeigen.

Zitat:

Zitat von EWeiss (Beitrag 1422272)
Ich habe auch noch andere Scripts(Reg-Files) die das Arbeiten erleichtern. siehe Scripts.png

Das Win+X Menü bekommt man nun übrigens auch per Rechtsklick auf den Startknopf, von daher ist es ohnehin jederzeit auch per Maus zu erreichen.

HolgerX 29. Dez 2018 18:15

AW: DLLOCX Registrieren Contexmenu
 
Hmm..

Könnte es sein, das der Zugriff auf das Unregister geblockt wurde, weil Quarz.dll vielleicht gerade von einem anderen Prozess verwendet wird?

Kannst ja mal mit diesem Tool schauen:

http://www.nirsoft.net/utils/loaded_dll_view.html

ob die DLL noch geladen ist und von wehm...

HolgerX 29. Dez 2018 18:42

AW: DLLOCX Registrieren Contexmenu
 
Hmm..

Andere Frage:
Ist die Quarz.dll eventuell eine 32Bit DLL ?
Dann könnte es sein, dass der Aufruf von regsvr32.exe unter \System32 fehlschlägt, da die 32bit DLL nicht geladen werden kann.
Somit ist dein Contextmenu unter 64Bit nur für 64Bit Libs verwendbar..

(Nur so eine Idee)

Siehe:

https://support.microsoft.com/de-de/...error-messages
Zitat:

Hinweis Bei einer 64-Bit-Version eines Windows-Betriebssystems sind zwei Versionen der Datei "Regsv32.exe" verfügbar:
Die 64-Bit-Version ist "%systemroot%\System32\regsvr32.exe".
Die 32-Bit-Version ist "%systemroot%\SysWoW64\regsvr32.exe".

Alternativ kannst Du Dir ja einen eigenen (Zwischen-Starter) für den Aufruf anhand 32/64 Bit der Lib mit \System32\regsvr32.exe oder \SysWoW64\regsvr32.exe basteln.

Oder direkt eine eigene regsvr32.exe...
Dieser könntest Du eventuell auch ein Versions Compare mitgeben.. ;)

Unter D6 gibt es hierfür ein Beispiel $(Delphi)\Demos\ActiveX\TRegSvr\

EWeiss 30. Dez 2018 00:17

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Das Win+X Menü bekommt man nun übrigens auch per Rechtsklick auf den Startknopf
Wenn man es zulässt;)
Bei mir zumindest nicht da ist schon der WinKey + x erforderlich.
So ist es mir lieber und ich verwende Classic Start Menu will von dem Tablet, Phone und anderen kram auf meinem Desktop PC nichts sehn.
MS verweigert ja die Installation aber anstatt nach dem Hash der Anwendung zu scannen wird nur der Name zum blockieren verwendet
eine einfache Umbenennung und schon lies es sich ohne murren installieren.

Ich benötige keine Kacheln oder ähnlichen Kram aus dem einfachen Grund weil ich nichts mit meinem Fingern betatsche den Bildschirm schon gar nicht.
Der Inhalt der Kacheln ist für mich unwichtig.
Mit Werbung werde ich im Internet schon zugeschüttet und Wettervorhersagen wer braucht das?
Das mag alles schön und gut sein wenn man Synchronisieren oder aber mit Anwendungen von außerhalb auf den PC zugreifen will aber wie gesagt habe damit nichts man Hut.

Zitat:

Ist die Quarz.dll eventuell eine 32Bit DLL ?
Als auch. 64+32Bit

Zitat:

Somit ist dein Contextmenu unter 64Bit nur für 64Bit Libs verwendbar..
Schon versucht oder wie kommst du zu dieser Feststellung?
Meine ActiveX Dll's - Ocx'e sind alle 32Bit.

Zitat:

Kannst ja mal mit diesem Tool schauen:
danke dafür nehme ich den ProcessMonitor von SysInternals

Zitat:

Und Adminrechte brauchst Du bei deinen Änderungen, wie auch beim Aufruf von regsvr32 dennoch.
Hast du vielleicht das "RUNASADMIN" übersehen? Richtig die braucht man des deshalb gibt es diesen Befehl.
"C:\\Windows\\System32\\regsvr32.exe"="~ RUNASADMIN"

gruss

jaenicke 30. Dez 2018 06:35

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Zitat von EWeiss (Beitrag 1422291)
Ich benötige keine Kacheln oder ähnlichen Kram aus dem einfachen Grund weil ich nichts mit meinem Fingern betatsche den Bildschirm schon gar nicht.
Der Inhalt der Kacheln ist für mich unwichtig.

Anderes Thema, drum antworte ich per PN. ;-)

Zitat:

Zitat von EWeiss (Beitrag 1422291)
Zitat:

Somit ist dein Contextmenu unter 64Bit nur für 64Bit Libs verwendbar..
Schon versucht oder wie kommst du zu dieser Feststellung?

Das ist so, ja, gerade noch einmal getestet. Die DLL im Screenshot liegt aber ja ohnehin unter system32 und ist somit eine 64-Bit DLL. Entsprechend wäre ja auch die regsvr32.exe unter system32 korrekt.

Nebenbei habe ich zuletzt unter Windows 9x DLLs in das System32 Verzeichnis gelegt. Seit Windows 2000 registriere ich diese über das Setup oder lege sie in das Anwendungsverzeichnis. Denn ansonsten greift die DLL-Versionierung von Windows nicht.

Zitat:

Zitat von EWeiss (Beitrag 1422291)
Zitat:

Und Adminrechte brauchst Du bei deinen Änderungen, wie auch beim Aufruf von regsvr32 dennoch.
Hast du vielleicht das "RUNASADMIN" übersehen? Richtig die braucht man des deshalb gibt es diesen Befehl.
"C:\\Windows\\System32\\regsvr32.exe"="~ RUNASADMIN"

Aber trotzdem meldet die regsvr32.exe ja zurück, dass der Zugriff verweigert würde.

EWeiss 30. Dez 2018 06:54

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Aber trotzdem meldet die regsvr32.exe ja zurück, dass der Zugriff verweigert würde.
Ja und deshalb habe ich gefragt ob jemand ein funktionierendes reg File hat denn irgendwie scheint mir jeder sein eigenes Süppchen zu kochen
Beispiel einige schreiben regsvr32.exe -u \"%1\"" andere wiederum regsvr32.exe /u \"%1\"" für Unregister.

Zitat:

Anderes Thema, drum antworte ich per PN.
Jo habe mich wieder etwas hinreißen lassen ;)
Kann das ganze Problem ja ändern in dem ich meine alte Hardware wieder einbaue wie gesagt das neue Board (Intel\MS verweigern mir eine Installation von Win7)
Sobald ich die CD einstecke damit Boote und versuche die Installation zu starten gibt's einen Blue-Screen. Das ist von beiden Firmen so gewollt.
1 mal um die Leute dazu zu bringen auf Win10 umzusteigen (es bleibt einen ja nichts anderes übrig bei neuer Hardware) und wenn man auf Win10 freiwillig umsteigt ohne entsprechende Hardware dann geht auch nichts vernünftig weil mindestens ein i5 vorausgesetzt wird somit haben dann beide was von MS\Intel so oder so der User ist der Dumme. Ein Problem des Monopolismus künstlicher Neuerwerb von Soft sowie Hardware Komponente. Es gibt ja sonst nichts anderes..

Zitat:

Das ist so, ja, gerade noch einmal getestet.
Nun wie gesagt ich kann alle meine 32Bit Dll's mit dem reg File Installieren nicht nur 64Bit.

gruss

jaenicke 30. Dez 2018 07:39

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

Zitat von EWeiss (Beitrag 1422298)
Beispiel einige schreiben regsvr32.exe -u \"%1\"" andere wiederum regsvr32.exe /u \"%1\"" für Unregister.

Das sollte egal sein. Die entscheidende Frage ist erst einmal vor allem:
Wenn die im Screenshot festgehaltene Fehlermeldung kommt, wie genau sehen dann die Kommandozeile und das Arbeitsverzeichnis des Prozesses regsvr32.exe aus? (Das Arbeitsverzeichnis sieht man nur im Process Explorer, aber die Kommandozeile ja auch im normalen Taskmanager.)
Wenn du das dann genau so in einer Adminkommandozeile ausführst, klappt das dann?

Zitat:

Zitat von EWeiss (Beitrag 1422298)
Sobald ich die CD einstecke damit Boote und versuche die Installation zu starten gibt's einen Blue-Screen. Das ist von beiden Firmen so gewollt.

Das funktioniert bei mir, sofern ich den Windows 7 Installationsmodus im UEFI aktiv habe. Gewollt ist nicht, dass es nicht funktioniert, sondern gewollt ist, dass keine Ressourcen oder Tests in dieser Richtung mehr eingesetzt werden. Die meisten Funktionen sollten normalerweise gehen, es wird aber nicht aktiv daran gearbeitet.

Du hältst es also für sinnvoll, dass eine Firma für einen geringen Prozentsatz an Benutzern einen großen Aufwand betreibt um Treiber usw. auch noch Jahre nach dem Release einer Hardware zu liefern? Was meinst du wohl was die 99% der Benutzer dazu sagen, die das nicht brauchen, aber teuer mit bezahlen müssten? Ich möchte das Geld nicht unnötig ausgeben.

Es gibt nicht umsonst teure Long Term Support Hardware für Firmen. Damit geht so etwas, aber die ist auch deutlich teurer als Consumer Hardware.

EWeiss 30. Dez 2018 07:46

AW: DLLOCX Registrieren Contexmenu
 
Zitat:

sofern ich den Windows 7 Installationsmodus im UEFI aktiv habe
Gut ist jetzt nicht das Thema hier würde mich aber interessieren wie du das hinbekommst.
Ich kann in meinem Bios einschalten "Anderes OS" oder UEFI aber mit beiden Konstellationen bekomme ich keine Win7 Installation mehr hin.
Das wird strikt verweigert selbst auf einem leeren System wo noch kein anderes System installiert ist.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 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