desde hace muchos años utilizo un sistema de activación de mis programas que consiste en un zip comprimido con contraseña y renombrado. Para descomprimirlo utilizo la siguiente sentencia:
hb_UnzipFile( cExePath + "user.nit", NIL, .F., cPWD, cExePath, "user.lic" )
y dentro del fichero user.lic es donde están los datos del registro. Utilizo esto desde los tiempos de FWH 1.9.5, creo que va para 25 años o así. El caso es que con FWH 24.07 - la versión distribuida en el webminar - y el harbour correspondiente al hacer el hb_unzipfile me devuelve .f. cuando la misma sentencia siempre devolvía .t. ¿Qué ha cambiado?
Revisando la documentación de Harbour la sentencia está bien, he hecho un pequeño ejemplo autocontenido que he llamado testzip2.prg con lo siguiente
- Code: Select all Expand view RUN
- FUNCTION Main()
LOCAL cFileUnzip := 'testzip2.prg'
LOCAL cFileZip := 'testzip2.nit'
LOCAL cPwd := 'qwertyuiop'
LOCAL cFilePath := Cfilepath( Getmodulefilename( Getinstance() ) )
? hb_ZipFile( cFileZip, cFileUnzip, 9, NIL, .t., cPwd, .f., .f., NIL )
? hb_UnzipFile( cFileZip, NIL, .F., cPwd, cFilePath, cFileUnzip )
RETURN NIL
y el resultado es .t. y .f. , la sentencia hb_unzipFile devuelve .f.
El tema es que utilizo en mis programas hb_zipfile y hb_unzipfile para comprimir y descomprimir ficheros para realizar backups y funciona perfectamente, pero con la contraseña no lo hace o algo estoy haciendo mal yo.
Saludos,
José Luis