Registro OCX
Publicado: 8 de marzo de 2018 - 09:47
Hola a todos,
Instalé WAPT en mi empresa para instalar software remotamente y estoy bastante satisfecho. Mi objetivo es crear paquetes para todo el software que usamos; sin embargo, hay muchos y algunos están muy mal empaquetados. Actualmente estoy preparando un paquete para SRIM 2013 ( http://www.srim.org/SRIM/SRIMLEGL.htm El software no tiene instalador, pero requiere registrar archivos OCX, instalar DLL y una fuente para funcionar correctamente. He encontrado soluciones para la fuente y las DLL, pero registrar los archivos OCX (desconozco el motivo) no funciona con el comando `Regsvr32 /s`. Por eso, escribo esto para ver si alguien más ha tenido el mismo problema al registrar archivos OCX y si tiene alguna solución. Mi software se inicia, pero algunas funciones no se ejecutan porque los archivos OCX no están presentes
- Se instaló la versión 1.3.13 de WAPT
- Sistema operativo del servidor: Linux Debian 9
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 7
Estoy probando el siguiente código, que no funciona. He colocado correctamente los archivos OCX en el directorio raíz del paquete y también probé previamente el comando Regsvr32 por sí solo, sin éxito. :/
El código para el script de instalación (si estoy creando un acceso directo yo mismo y no uso la función proporcionada por WAPT, es porque estaba recibiendo un error al iniciar el software que no encuentro cuando lo hago de esta manera; en realidad no entiendo por qué):
El código del script para añadir fuentes que encontré en línea básicamente escanea el directorio y añade silenciosamente los archivos de fuentes que contiene (es una pena que no exista lo mismo para esos dichosos archivos OCX). Lo publico aquí principalmente porque podría ayudar a quienes quieran crear paquetes para instalar fuentes:
Finalmente, aquí está el contenido del directorio del paquete:
Gracias de antemano por sus respuestas 
Instalé WAPT en mi empresa para instalar software remotamente y estoy bastante satisfecho. Mi objetivo es crear paquetes para todo el software que usamos; sin embargo, hay muchos y algunos están muy mal empaquetados. Actualmente estoy preparando un paquete para SRIM 2013 ( http://www.srim.org/SRIM/SRIMLEGL.htm El software no tiene instalador, pero requiere registrar archivos OCX, instalar DLL y una fuente para funcionar correctamente. He encontrado soluciones para la fuente y las DLL, pero registrar los archivos OCX (desconozco el motivo) no funciona con el comando `Regsvr32 /s`. Por eso, escribo esto para ver si alguien más ha tenido el mismo problema al registrar archivos OCX y si tiene alguna solución. Mi software se inicia, pero algunas funciones no se ejecutan porque los archivos OCX no están presentes
- Se instaló la versión 1.3.13 de WAPT
- Sistema operativo del servidor: Linux Debian 9
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 7
Estoy probando el siguiente código, que no funciona. He colocado correctamente los archivos OCX en el directorio raíz del paquete y también probé previamente el comando Regsvr32 por sí solo, sin éxito. :/
Código: Seleccionar todo
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')Código: Seleccionar todo
@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 DONECódigo: Seleccionar todo
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 :EOFCódigo: Seleccionar todo
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