Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   RegSvr32 Probleme (https://www.delphipraxis.net/191315-regsvr32-probleme.html)

haentschman 2. Jan 2017 12:54

Betriebssystem: Win 7,Win 10

RegSvr32 Probleme
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallöle...:P
Ich habe für die Anwendung das Setup selbst erstellt. Dieses registriert das SDL für den Etikettendrucker. Bei Tests hat sich herausgestellt das das nur willkührlich funktioniert. :?

Vorraussetzungen:
1: selbes Setup
2. exakt gleiche Ordner (ProgrammData)
3. exakt gleiche Rechte in den Ordnern (ProgrammData)
4. Batch Datei zur Registrierung
5. auf einer Maschine (1x Echtsystem V7, 1x VM W7, 1x VM W10) ... wird es nur auf den Echtsystem registriert
Code:
@echo off
regsvr32 "%~dp0\p-PAC_SDK\bpac.dll"
Auch das manuelle Starten mit Adminrechten hat den gleichen Fehler zur Folge...:?

himitsu 2. Jan 2017 13:26

AW: RegSvr32 Probleme
 
Probehalber mal mit
Delphi-Quellcode:
regsvr32 "%~dp0p-PAC_SDK\bpac.dll"
probieren.
Aber eigentlich sollte Windows ein doppelter Pfadseperator egal sein.


Code:
REM @echo off
if exist "%~dp0\p-PAC_SDK\bpac.dll" (
  echo OK
) else (
  echo Windows hat Recht
)
regsvr32 "%~dp0\p-PAC_SDK\bpac.dll"
PAUSE

haentschman 2. Jan 2017 14:09

AW: RegSvr32 Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke...:P

Windows hat nicht Recht...:?

Ich habe auch das aktuelle SDK versucht... Gleiches Spiel. :?

Was macht die VM anders? :gruebel:

DeddyH 2. Jan 2017 14:19

AW: RegSvr32 Probleme
 
Die Bittigkeit ist immer gleich? Es gibt ja auf 64 Bit-Windows 2 Versionen der Exe, siehe https://support.microsoft.com/de-de/kb/249873

haentschman 2. Jan 2017 15:49

AW: RegSvr32 Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
:gruebel:
Alles 64bit Windows. Ich habe das SDK für 32Bit genommen weil die EXE 32Bit ist. Denkfehler? :gruebel: Das wiederspricht aber dem einem System wo es registriert wird.

EWeiss 2. Jan 2017 16:00

AW: RegSvr32 Probleme
 
Zitat:

Zitat von haentschman (Beitrag 1357781)
:gruebel:
Alles 64bit Windows. Ich habe das SDK für 32Bit genommen weil die EXE 32Bit ist. Denkfehler? :gruebel: Das wiederspricht aber dem einem System wo es registriert wird.

Das Problem liegt wohl eher daran das du versuchst ein 32BIT DLL unter einem Win64 System zu registrieren.
Die EXE darf ruhig 32BIt sein das spielet keine Rolle.

Ok das ist jetzt keine Batchdatei aber Code mäßig registriere ich meine DLL auf diese weise. (Mein VB6 Mediaplayer)

Code:
        Registered = GetSetting(App.EXEName, "MP3Ext", "Registered", 0)

        If ckMedExtension.value = 1 And Registered = 0 Then
            If GetWindowsVersion = "Win7" Then
                systemdir = "C:\Windows\SysWOW64"
            Else
                systemdir = GetShellFolder(CSIDL_SYSTEM)
            End If
           
            strF = NTrim(systemdir)
            strF = "regsvr32.EXE " & strF & "\mp3ext.dll"
            Shell strF, vbHide
        End If

Wohlbemerkt das funktioniert nur wenn die DLL mp3ext.dll 100% 64BIT ist.
Vergiss es wenn ich etwas falsch verstanden haben sollte.

gruss

haentschman 2. Jan 2017 16:19

AW: RegSvr32 Probleme
 
Hallöle...8-)
Zitat:

Das Problem liegt wohl eher daran das du versuchst ein 32BIT DLL unter einem Win64 System zu registrieren.
Im ersten Screenshot hat es mit der 32Bit DLL funktioniert? :gruebel: Das SDK ist registriert. Die Delphi Anwendung kann darauf zugreifen. Der Drucker druckt anstandslos... War das Zufall? :gruebel:
Zitat:

Die EXE darf ruhig 32BIt sein das spielet keine Rolle.
...schön. Dann werde ich dem Setup noch die 64bit DLL beibringen... Das ist jeder selbst verantwortlich. :lol:

Heute werde ich den Test nicht mehr schaffen... Ich melde mich dann.

Danke... :P

EWeiss 2. Jan 2017 16:25

AW: RegSvr32 Probleme
 
Ich kann jetzt nicht erkennen ob deine Antwort ironisch gemeint ist oder nicht.
Sei's drum.

VB6 Anwendungen sind immer 32BIT nen 64BIT Compiler gibt es nicht.
Wenn ich versuche mit meiner Anwendung meine DLL in 32BIT zu registrieren schlägt das fehl und ich bekomme die gleichen Meldungen wie du da diese
sich in einem Dialog von Windows 64BIT einklinken soll.
Verwende ich die 64BIT und registriere die dann funktioniert alles.

Aber gut war nur ein Tip.

gruss

Dalai 2. Jan 2017 16:35

AW: RegSvr32 Probleme
 
32 bit DLLs müssen mit %SystemRoot%\SysWOW64\regsvr32.exe registriert werden, 64 bit DLLs mit %SystemRoot%\system32\regsvr32.exe. Das gilt jedenfalls für Windows 64 bit.

Grüße
Dalai

EWeiss 2. Jan 2017 16:37

AW: RegSvr32 Probleme
 
Zitat:

Zitat von Dalai (Beitrag 1357792)
32 bit DLLs müssen mit %SystemRoot%\SysWOW64\regsvr32.exe registriert werden, 64 bit DLLs mit %SystemRoot%\system32\regsvr32.exe. Das gilt jedenfalls für Windows 64 bit.

Grüße
Dalai

Siehe mein Code hatte noch nie ein Problem beim registrieren meiner DLL.

gruss

haentschman 2. Jan 2017 16:41

AW: RegSvr32 Probleme
 
@EWeiss:
Zitat:

...schön. Dann werde ich dem Setup noch die 64bit DLL beibringen... Das ist jeder selbst verantwortlich.
...vermute das du das meinst. Ja ist ironisch gemeint. :wink:

Danke an alle...:P

Uwe Raabe 2. Jan 2017 16:49

AW: RegSvr32 Probleme
 
Seit einiger Zeit (weiß nicht sein wann) kann auch die 64-Bit regsvr32.exe für 32-Bit DLLs verwendet werden. Die erkennt die Bitness der DLL und ruft bei Bedarf ihre 32-bittige Schwester auf.

Wichtig ist, daß man es aus einer Kommandozeile startet, die man als Administrator geöffnet hat. Natürlich müssen alle implizit verwendeten DLLs auch dann noch im Suchpfad zu finden sein. Das kann bei Laufmerks-Mappings des normalen Users schon mal relevant sein.

haentschman 2. Jan 2017 17:18

AW: RegSvr32 Probleme
 
Hallo Uwe... :P

Ich habe es gerade ausprobiert... Es spielt keine Rolle welche regsvr32.exe man nimmt... der Fehler ist der gleiche. Jetzt fehlt mir nur der Test mit der 64Bit DLL...morgen früh. :wink:

EWeiss 2. Jan 2017 17:30

AW: RegSvr32 Probleme
 
Zitat:

Jetzt fehlt mir nut der Test mit der 64Bit DLL...morgen früh.
Wie ich schon sagte.
Ich gehe davon aus das es funktioniert.
Problem behoben :)

gruss

haentschman 3. Jan 2017 17:05

AW: RegSvr32 Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo...:cry:

Nix mit Bordmitteln. :?

1. Download SDK mit der 64Bit DLL
2. Batch angepaßt. (sicher ist sicher)
3. in das temporäre Verzeichnis in die VM kopiert
4. Start als Admin
Code:
@echo off
rem @echo off
regsvr32.exe "bpac.dll"
pause
...Batch in verschieden Variationen ausprobiert.

:? Liegt es an der VM?

Das muß doch mit der Batch gehen...:gruebel:

EWeiss 3. Jan 2017 17:08

AW: RegSvr32 Probleme
 
Und du bist sicher das bpac.dll und RegServ32 im gleichen Pfad liegen ?

gruss

haentschman 3. Jan 2017 17:20

AW: RegSvr32 Probleme
 
Bin ich sicher. :wink:

Beim Rumprobieren hatte ich Varianten wo der RegServ32 nicht gefunden wurde. Da sieht die Meldung anders aus. :?
Inwischen habe ich alle Dateien ins System32 kopiert... nix. :cry:

Ich mach erst mal anderes...bis ich wieder Nerven habe. :roll:


Danke...

EWeiss 3. Jan 2017 17:32

AW: RegSvr32 Probleme
 
Hat diese DLL noch andere Abhängigkeiten?
bzw. kannst du die mal hochladen damit ich es mal ohne VM testen kann?

gruss

haentschman 3. Jan 2017 17:54

AW: RegSvr32 Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bitteschön...8-)

Ohne VM geht es bei mir auch an verschiedenen Stellen (Laden, Büro)...:gruebel:

Danke für deine Zeit. :wink:

EWeiss 3. Jan 2017 18:02

AW: RegSvr32 Probleme
 
Getestet und Nein kann sie nicht registrieren da Abhängigkeiten Fehlen.
Deshalb meine Frage ;)

BECDATA.dll
PTIMGIMP.dll

sollten diese DLL's bei dir im Pfad fehlen lässt sich die BPAC.dll nicht registrieren.

gruss

haentschman 3. Jan 2017 18:14

AW: RegSvr32 Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nochmal komplett mit 64Bit DLL in C:\tmp der VM...:?

EWeiss 3. Jan 2017 18:32

AW: RegSvr32 Probleme
 
Habe mal die Setup geladen.
Registrierung ohne VM funktioniert immer.

gruss

hoika 4. Jan 2017 02:50

AW: RegSvr32 Probleme
 
Hallo,
was ist denn das für eine VM (Win7 x Bit)?

haentschman 4. Jan 2017 05:14

AW: RegSvr32 Probleme
 
Moin...8-)

1x W7_64, 1x W10_64

Ich glaube ich habe es... :roll:

Bei EWeiss seinen Screenshots ist zu sehen das der RegSvr über die "Suchpfade" aus dem aktuellen Ordner aufgerufen wird. Bei mir nicht...:? Da ist der Ordner immer System32.
...auf der anderen Seite hatte ich die komplette Pfadvariante auch durch. :gruebel:

Bbommel 4. Jan 2017 12:48

AW: RegSvr32 Probleme
 
Mal eine möglicherweise sehr profane Frage am Rande: du hast zwar geschrieben, dass du als Admin angemeldet bist, aber bist du sicher, dass auch die von dir gestartete Konsole Admin-Rechte hat, also "Als Administrator ausführen" aufgerufen wurde? Denn das "Administrator:" fehlt bei dir in den Screenshots von der Eingabeaufforderung.

Könnte ja sein, dass es dann auf dem einen Win7-PC funktioniert hat, weil dort die UAC deaktiviert ist.

Dalai 4. Jan 2017 13:05

AW: RegSvr32 Probleme
 
Schau dir die DLL mal mit dem Dependency Walker genauer an, ob wirklich alle Abhängigkeiten vorhanden/erfüllt sind.

Grüße
Dalai

EWeiss 5. Jan 2017 04:40

AW: RegSvr32 Probleme
 
Zitat:

Zitat von Dalai (Beitrag 1358052)
Schau dir die DLL mal mit dem Dependency Walker genauer an, ob wirklich alle Abhängigkeiten vorhanden/erfüllt sind.

Grüße
Dalai

Hatte ich schon drauf hingewiesen ;)
Aber ok doppelt gemoppelt hält besser.
So wie ich hier entnehmen kann

Zitat:

Ich glaube ich habe es...
scheint sein Problem ja gelöst zu sein.

gruss

jaenicke 5. Jan 2017 05:31

AW: RegSvr32 Probleme
 
Zitat:

Zitat von Dalai (Beitrag 1358052)
Schau dir die DLL mal mit dem Dependency Walker genauer an, ob wirklich alle Abhängigkeiten vorhanden/erfüllt sind.

Sinnvoller ist der Process Monitor. Damit sieht man zur Laufzeit was zu laden versucht wird statt nur die statisch gelinkten Abhängigkeiten...

Mittlerweile kann auch der Dependency Walker wohl so etwas, aber da man damit auch gleich andere Fehler finden kann, finde ich den Process Monitor dennoch sinnvoller.

haentschman 5. Jan 2017 15:00

AW: RegSvr32 Probleme
 
Danke an Alle...:P
Zitat:

Ich glaube ich habe es...
...das Problem ist noch nicht gelöst. :? Ich melde mich zu gegebener Zeit wieder und kann dann offentlich die Fragen beantworten. Im Moment stehen wichtigere Sachen an... :roll:

:hi:


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