OCX-Registrierung
Veröffentlicht: 8. März 2018 - 09:47 Uhr
Hallo zusammen,
Ich habe WAPT in meiner Firmenumgebung installiert, um Software remote zu installieren, und bin sehr zufrieden. Mein Ziel ist es, Pakete für die gesamte von uns verwendete Software zu erstellen; allerdings gibt es sehr viele Programme, und einige sind sehr schlecht verpackt. Derzeit bereite ich ein Paket für SRIM 2013 vor ( http://www.srim.org/SRIM/SRIMLEGL.htm Die Software hat keinen Installer, benötigt aber dennoch registrierte OCX-Dateien, installierte DLLs und eine Schriftart, um korrekt zu funktionieren. Ich habe Lösungen für die Schriftart und die DLLs gefunden, aber die Registrierung der OCX-Dateien funktioniert – aus unbekannten Gründen – nicht mit dem Befehl `Regsvr32 /s`. Daher wende ich mich an Sie, um zu erfahren, ob jemand anderes das gleiche Problem mit der Registrierung von OCX-Dateien hatte und eine Lösung kennt. Meine Software startet zwar, aber einige Funktionen lassen sich aufgrund der fehlenden OCX-Dateien nicht ausführen
- WAPT Version 1.3.13 installiert
- Server-Betriebssystem: Linux Debian 9
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 7
Ich teste folgenden Code, der leider nicht funktioniert. Die OCX-Dateien befinden sich korrekt im Stammverzeichnis des Pakets. Ich habe auch zuvor den Befehl Regsvr32 separat getestet, allerdings ohne Erfolg. :/
Der Code für das Installationsskript (falls ich selbst eine Verknüpfung erstelle und nicht die von WAPT bereitgestellte Funktion verwende, liegt das daran, dass beim Starten der Software ein Fehler auftrat, der bei dieser Vorgehensweise nicht auftritt; ich verstehe ehrlich gesagt nicht, warum):
Der Code für das Schriftarten-Hinzufügeskript, den ich online gefunden habe, durchsucht im Grunde das Verzeichnis und fügt die darin enthaltenen Schriftartdateien im Hintergrund hinzu (schade, dass es so etwas nicht auch für diese verdammten OCX-Dateien gibt). Ich poste ihn hier hauptsächlich, weil er vielleicht einigen Leuten helfen könnte, die Pakete zur Installation von Schriftarten erstellen möchten
Abschließend folgt hier der Inhalt des Paketverzeichnisses:
Vielen Dank im Voraus für Ihre Antworten 
Ich habe WAPT in meiner Firmenumgebung installiert, um Software remote zu installieren, und bin sehr zufrieden. Mein Ziel ist es, Pakete für die gesamte von uns verwendete Software zu erstellen; allerdings gibt es sehr viele Programme, und einige sind sehr schlecht verpackt. Derzeit bereite ich ein Paket für SRIM 2013 vor ( http://www.srim.org/SRIM/SRIMLEGL.htm Die Software hat keinen Installer, benötigt aber dennoch registrierte OCX-Dateien, installierte DLLs und eine Schriftart, um korrekt zu funktionieren. Ich habe Lösungen für die Schriftart und die DLLs gefunden, aber die Registrierung der OCX-Dateien funktioniert – aus unbekannten Gründen – nicht mit dem Befehl `Regsvr32 /s`. Daher wende ich mich an Sie, um zu erfahren, ob jemand anderes das gleiche Problem mit der Registrierung von OCX-Dateien hatte und eine Lösung kennt. Meine Software startet zwar, aber einige Funktionen lassen sich aufgrund der fehlenden OCX-Dateien nicht ausführen
- WAPT Version 1.3.13 installiert
- Server-Betriebssystem: Linux Debian 9
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 7
Ich teste folgenden Code, der leider nicht funktioniert. Die OCX-Dateien befinden sich korrekt im Stammverzeichnis des Pakets. Ich habe auch zuvor den Befehl Regsvr32 separat getestet, allerdings ohne Erfolg. :/
Code: Alle auswählen
r# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
targetdir = makepath(programfiles64,'SRIM 2013')
exename = 'SRIM.exe'
def install():
print('installing pgip-srim2013')
run(r'install.cmd')
run(r'IF EXIST C:\Windows\SysWOW64 (C:\Windows\SysWOW64\regsvr32.exe /S COMCTL32.OCX) ELSE (C:\Windows\System32\regsvr32.exe /S COMCTL32.OCX)')
run(r'IF EXIST C:\Windows\SysWOW64 (C:\Windows\SysWOW64\regsvr32.exe /S COMDLG32.OCX) ELSE (C:\Windows\System32\regsvr32.exe /S COMDLG32.OCX)')
run(r'IF EXIST C:\Windows\SysWOW64 (C:\Windows\SysWOW64\regsvr32.exe /S MSFLXGRD.OCX) ELSE (C:\Windows\System32\regsvr32.exe /S MSFLXGRD.OCX)')
run(r'IF EXIST C:\Windows\SysWOW64 (C:\Windows\SysWOW64\regsvr32.exe /S TABCTL32.OCX) ELSE (C:\Windows\System32\regsvr32.exe /S TABCTL32.OCX)')
run (r'IF EXIST C:\Windows\SysWOW64 (C:\Windows\SysWOW64\regsvr32.exe /S RICHTX32.OCX) ELSE (C:\Windows\System32\regsvr32.exe /S RICHTX32.OCX)')
register_windows_uninstall(control)
def uninstall():
print('uninstalling pgip-srim2013')
killalltasks(exename)
killalltasks('SR.exe')
if isdir(targetdir):
remove_tree(targetdir)
remove_file(r'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SRIM 2013.lnk')
unregister_uninstall('pgip-srim2013')Code: Alle auswählen
@ECHO OFF
ECHO INSTALLING SRIM 2013
xcopy SRIM_2013 "C:\Program Files\SRIM 2013" /S /I
CLS
xcopy "SRIM 2013.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" /S /I
CLS
ECHO ADDING FONTS
addfonts.cmd
CLS
ECHO DONECode: Alle auswählen
REM http://www.msfn.org/board/topic/119612-how-to-install-a-font-via-the-command-line/
@ECHO OFF
TITLE Adding Fonts..
REM Filename: ADD_Fonts.cmd
REM Script to ADD TrueType and OpenType Fonts for Windows
REM By Islam Adel
REM 2012-01-16
REM How to use:
REM Place the batch file inside the folder of the font files OR:
REM Optional Add source folder as parameter with ending backslash and dont use quotes, spaces are allowed
REM example "ADD_fonts.cmd" C:\Folder 1\Folder 2\
IF NOT "%*"=="" SET SRC=%*
ECHO.
ECHO Adding Fonts..
ECHO.
FOR /F %%i in ('dir /b "%SRC%*.*tf"') DO CALL :FONT %%i
REM OPTIONAL REBOOT
REM shutdown -r -f -t 10 -c "Reboot required for Fonts installation"
ECHO.
ECHO Done!
EXIT
:FONT
ECHO.
REM ECHO FILE=%~f1
SET FFILE=%~n1%~x1
SET FNAME=%~n1
SET FNAME=%FNAME:-= %
IF "%~x1"==".otf" SET FTYPE=(OpenType)
IF "%~x1"==".ttf" SET FTYPE=(TrueType)
ECHO FILE=%FFILE%
ECHO NAME=%FNAME%
ECHO TYPE=%FTYPE%
COPY /Y "%SRC%%~n1%~x1" "%SystemRoot%\Fonts\"
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "%FNAME% %FTYPE%" /t REG_SZ /d "%FFILE%" /f
GOTO :EOFCode: Alle auswählen
Répertoire de C:\waptdev\pgip-srim2013-wapt
08/03/2018 10:24 <REP> .
08/03/2018 10:24 <REP> ..
06/03/2018 15:53 1ÿ133 addfonts.cmd
23/05/2000 00:58 608ÿ448 ComCtl32.ocx
23/05/2000 00:58 140ÿ488 ComDlg32.ocx
08/03/2018 09:55 255 install.cmd
20/03/1996 06:00 80ÿ008 Linedraw.ttf
22/05/2000 22:58 244ÿ416 MSFlxGrd.ocx
09/03/2004 23:45 212ÿ240 RichTx32.ocx
07/03/2018 10:56 1ÿ322 setup.py
07/03/2018 10:57 1ÿ767 setup.pyc
06/03/2018 16:58 1ÿ331 SRIM 2013.lnk
06/03/2018 14:28 <REP> SRIM_2013
30/08/2001 22:43 209ÿ192 TabCtl32.ocx
07/03/2018 08:48 <REP> WAPT
11 fichier(s) 1ÿ500ÿ600 octets
4 R‚p(s) 1ÿ215ÿ844ÿ352 octets libres