Delphi-PRAXiS
Seite 1 von 3  1 23      

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.
Seite 1 von 3  1 23      

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