AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme DLLOCX Registrieren Contexmenu

DLLOCX Registrieren Contexmenu

Ein Thema von EWeiss · begonnen am 28. Dez 2018 · letzter Beitrag vom 30. Dez 2018
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.375 Beiträge
 
Delphi 2010 Architect
 
#1

DLLOCX Registrieren Contexmenu

  Alt 28. Dez 2018, 19:19
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
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
738 Beiträge
 
Delphi 6 Professional
 
#2

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 06:09
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
7.159 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 07:58
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
738 Beiträge
 
Delphi 6 Professional
 
#4

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 12:54
Hmm...

Hab da nur

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

gefunden, scheint aber das selbe script zu sein, nur etwas anders angeordnet....
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.375 Beiträge
 
Delphi 2010 Architect
 
#5

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 17:00
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.
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
Miniaturansicht angehängter Grafiken
1.png   2.png   scripts.png  

Geändert von EWeiss (29. Dez 2018 um 17:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
7.159 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 18:00
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.

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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
738 Beiträge
 
Delphi 6 Professional
 
#7

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 18:15
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...
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
738 Beiträge
 
Delphi 6 Professional
 
#8

AW: DLLOCX Registrieren Contexmenu

  Alt 29. Dez 2018, 18:42
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\

Geändert von HolgerX (29. Dez 2018 um 18:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.375 Beiträge
 
Delphi 2010 Architect
 
#9

AW: DLLOCX Registrieren Contexmenu

  Alt 30. Dez 2018, 00:17
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

Geändert von EWeiss (30. Dez 2018 um 00:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
7.159 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: DLLOCX Registrieren Contexmenu

  Alt 30. Dez 2018, 06:35
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:
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:
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf