Quote from CSSystems on August 21, 2025, 4:47 pmI know the Create Setup Program and Installation disk(s) has been around for a while.
How useful is it? I do use more elaborate install software, but I thought it could be useful for using when I just want an installation of a small app.
Comments?
I know the Create Setup Program and Installation disk(s) has been around for a while.
How useful is it? I do use more elaborate install software, but I thought it could be useful for using when I just want an installation of a small app.
Comments?
Quote from alangonzalez91 on August 22, 2025, 3:35 pmI had to build a separate installer, also done in VNWin, because apart from installing the software, I also had to install other packages and the MySQL database engine, and other components such as AccessRuntime and several MySQL tools, in addition to preconfiguring the software depending on the case, such as having MySQL run automatically when Windows starts as a service, whether or not the software is running. In this case, it is necessary to develop an installer. The good thing is that many installation packages for .msi or .exe elements have their /silent /quiet property, so you can call them with the RUN and DOScommand and wait for it to install in the background and continue with the next package.
I'm leaving a code snippet where my installer runs the installation packages in the background in case anyone finds it useful as an example. Obviously, it must have the installation packages, and in my case, I use the NeoDouble 1.6 plug-in for the progress bar and file copying; it's a bit old, but it still works.
.ODBC if "[Instalar ODBC]" "=" "Checked" showerrors "False" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .vcredist_x64.exe setvar "[@ GLOBAL-Instalacion estado]" "Instalando vcredist_x64.exe..." Run "[pubdir]vcredist_x64.exe" "/q" "Wait" "" "" .vcredist_x86.exe .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando vcredist_x86.exe..." Run "[pubdir]vcredist_x86.exe" "/q" "Wait" "" "" .AccessRuntime_x86_es-es.exe .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando accessRuntime_x86_es-es.exe..." . Run "[pubdir]AccessRuntime_x86_es-es.exe" "/quiet" "Wait" "" "" Run "[pubdir]\AccessRTx86\setup.exe" "/config .\Access2013RT.xml" "Wait" "" "" .Verificacion ERROR 13 msvcr100.dll .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Verificando msvcr100.dll..." FileExists "[WindowsDir]\system32\Msvcr100.dll" "[Existencial archivos]" if "[Existencial archivos]" "=" "True" Else setvar "[@ GLOBAL-Instalacion estado]" "Reparando msvcr100.dll..." .Se copia el archivo filecopy "[Pubdir]msvcr100.dll" "[WindowsDir]\system32\Msvcr100.dll" Endif .ODBC.msi .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando ODBC.msi..." DOSCommand "msiexec" "/package ODBC.msi /quiet" "Wait" setvar "[@ GLOBAL-Instalacion estado]" "" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif .MYSQL if "[Instalar MYSQL]" "=" "Checked" showerrors "False" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Barra de progrso setvar "[@ GLOBAL-Instalacion estado]" "Desempaquetando Mysql..." .Se instala Mysql DOSCommand "msiexec" "/package MYSQL.msi /quiet" "Wait" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Preparando configuracion my.ini..." .Se crea y copia el archivo ini FileWrite "my.ini" "All" "[#91]mysqld[#93]" FileWrite "my.ini" "Append" "explicit_defaults_for_timestamp = 1" FileWrite "my.ini" "Append" "basedir=[#34][ProgramFiles]MySQL\MySQL Server 5.6\[#34]" FileWrite "my.ini" "Append" "datadir=[#34][ProgramFiles]MySQL\MySQL Server 5.6\data\[#34]" FileCopy "[pubdir]my.ini" "[ProgramFiles]MySQL\MySQL Server 5.6\my.ini" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando motor mysqld.exe..." .Se ejecuta myslqd Run "[ProgramFiles]MySQL\MySQL Server 5.6\bin\mysqld.exe" "" "Normal" "" "[AppIdMysqld]" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Se espera 30 seg delay "30000" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando servicio Mysql..." .Se instala el servicio Run "[ProgramFiles]MySQL\MySQL Server 5.6\bin\mysqld.exe" "-install" "Wait+Hidden" "" "" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Se cierra mysql npMatarProcesos "mysqld.exe" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Copiando estructura inicial de base de datos..." .Se vuelca el modelo de base de datos npBorrarCarpeta "[ProgramFiles]MySQL\MySQL Server 5.6\data\" "" "" npCopiarCarpeta "[Pubdir]data" "[ProgramFiles]MySQL\MySQL Server 5.6\data" "True" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Iniciando servicio..." .Se inicia el servicio Run "net" "start MySQL" "Wait+Hidden" "" "" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif .MySQL GUI Tools if "[Instalar GUI]" "=" "Checked" showerrors "False" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Barra de progrso setvar "[@ GLOBAL-Instalacion estado]" "Instalando GUI Tools..." DOSCommand "msiexec" "/package GUI.msi /quiet" "Wait" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif .Sistema if "[Instalar Sistema]" "=" "Checked" showerrors "False" .Se crea la carpeta setvar "[@ GLOBAL-Instalacion estado]" "Creando carpetas..." CreateFolder "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\" .Se copian los archivos de sistema .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Copiando datos del sistema..." .Se vuelca la compilacion npCopiarCarpeta "[Pubdir]SIMPLESoft" "[@ GLOBAL-Unidad de instalacion]" "True" .Se instalan las fuentes .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando fuentes..." .Se copian las fuentes FileCopy "[Pubdir]SIMPLESoft\Code 39 barcode.TTF" "[WindowsDir]\Fonts\Code 39 barcode.TTF" FileCopy "[Pubdir]SIMPLESoft\FREE3OF9.TTF" "[WindowsDir]\Fonts\FREE3OF9.TTF" FileCopy "[Pubdir]SIMPLESoft\code128.ttf" "[WindowsDir]\Fonts\code128.ttf" Run "[pubdir]fontreg" "*.*" "Wait" "" "" .Se crean los accesos directos .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Creando accesos directos..." .Accesos Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - ADMINISTRACION 3.0.exe" "ADMINISTRACION - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - PRODUCTOS 3.0.exe" "PRODUCTOS - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - VENTAS 3.0.exe" "VENTAS - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - CONTABILIDAD 3.0.exe" "CONTABILIDAD - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - RENTABILIDAD 3.0.exe" "RENTABILIDAD - SIMPLESoft Gestión" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif ........
I had to build a separate installer, also done in VNWin, because apart from installing the software, I also had to install other packages and the MySQL database engine, and other components such as AccessRuntime and several MySQL tools, in addition to preconfiguring the software depending on the case, such as having MySQL run automatically when Windows starts as a service, whether or not the software is running. In this case, it is necessary to develop an installer. The good thing is that many installation packages for .msi or .exe elements have their /silent /quiet property, so you can call them with the RUN and DOScommand and wait for it to install in the background and continue with the next package.
I'm leaving a code snippet where my installer runs the installation packages in the background in case anyone finds it useful as an example. Obviously, it must have the installation packages, and in my case, I use the NeoDouble 1.6 plug-in for the progress bar and file copying; it's a bit old, but it still works.
.ODBC if "[Instalar ODBC]" "=" "Checked" showerrors "False" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .vcredist_x64.exe setvar "[@ GLOBAL-Instalacion estado]" "Instalando vcredist_x64.exe..." Run "[pubdir]vcredist_x64.exe" "/q" "Wait" "" "" .vcredist_x86.exe .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando vcredist_x86.exe..." Run "[pubdir]vcredist_x86.exe" "/q" "Wait" "" "" .AccessRuntime_x86_es-es.exe .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando accessRuntime_x86_es-es.exe..." . Run "[pubdir]AccessRuntime_x86_es-es.exe" "/quiet" "Wait" "" "" Run "[pubdir]\AccessRTx86\setup.exe" "/config .\Access2013RT.xml" "Wait" "" "" .Verificacion ERROR 13 msvcr100.dll .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Verificando msvcr100.dll..." FileExists "[WindowsDir]\system32\Msvcr100.dll" "[Existencial archivos]" if "[Existencial archivos]" "=" "True" Else setvar "[@ GLOBAL-Instalacion estado]" "Reparando msvcr100.dll..." .Se copia el archivo filecopy "[Pubdir]msvcr100.dll" "[WindowsDir]\system32\Msvcr100.dll" Endif .ODBC.msi .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando ODBC.msi..." DOSCommand "msiexec" "/package ODBC.msi /quiet" "Wait" setvar "[@ GLOBAL-Instalacion estado]" "" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif .MYSQL if "[Instalar MYSQL]" "=" "Checked" showerrors "False" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Barra de progrso setvar "[@ GLOBAL-Instalacion estado]" "Desempaquetando Mysql..." .Se instala Mysql DOSCommand "msiexec" "/package MYSQL.msi /quiet" "Wait" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Preparando configuracion my.ini..." .Se crea y copia el archivo ini FileWrite "my.ini" "All" "[#91]mysqld[#93]" FileWrite "my.ini" "Append" "explicit_defaults_for_timestamp = 1" FileWrite "my.ini" "Append" "basedir=[#34][ProgramFiles]MySQL\MySQL Server 5.6\[#34]" FileWrite "my.ini" "Append" "datadir=[#34][ProgramFiles]MySQL\MySQL Server 5.6\data\[#34]" FileCopy "[pubdir]my.ini" "[ProgramFiles]MySQL\MySQL Server 5.6\my.ini" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando motor mysqld.exe..." .Se ejecuta myslqd Run "[ProgramFiles]MySQL\MySQL Server 5.6\bin\mysqld.exe" "" "Normal" "" "[AppIdMysqld]" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Se espera 30 seg delay "30000" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando servicio Mysql..." .Se instala el servicio Run "[ProgramFiles]MySQL\MySQL Server 5.6\bin\mysqld.exe" "-install" "Wait+Hidden" "" "" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Se cierra mysql npMatarProcesos "mysqld.exe" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Copiando estructura inicial de base de datos..." .Se vuelca el modelo de base de datos npBorrarCarpeta "[ProgramFiles]MySQL\MySQL Server 5.6\data\" "" "" npCopiarCarpeta "[Pubdir]data" "[ProgramFiles]MySQL\MySQL Server 5.6\data" "True" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Iniciando servicio..." .Se inicia el servicio Run "net" "start MySQL" "Wait+Hidden" "" "" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif .MySQL GUI Tools if "[Instalar GUI]" "=" "Checked" showerrors "False" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" .Barra de progrso setvar "[@ GLOBAL-Instalacion estado]" "Instalando GUI Tools..." DOSCommand "msiexec" "/package GUI.msi /quiet" "Wait" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif .Sistema if "[Instalar Sistema]" "=" "Checked" showerrors "False" .Se crea la carpeta setvar "[@ GLOBAL-Instalacion estado]" "Creando carpetas..." CreateFolder "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\" .Se copian los archivos de sistema .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Copiando datos del sistema..." .Se vuelca la compilacion npCopiarCarpeta "[Pubdir]SIMPLESoft" "[@ GLOBAL-Unidad de instalacion]" "True" .Se instalan las fuentes .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Instalando fuentes..." .Se copian las fuentes FileCopy "[Pubdir]SIMPLESoft\Code 39 barcode.TTF" "[WindowsDir]\Fonts\Code 39 barcode.TTF" FileCopy "[Pubdir]SIMPLESoft\FREE3OF9.TTF" "[WindowsDir]\Fonts\FREE3OF9.TTF" FileCopy "[Pubdir]SIMPLESoft\code128.ttf" "[WindowsDir]\Fonts\code128.ttf" Run "[pubdir]fontreg" "*.*" "Wait" "" "" .Se crean los accesos directos .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" setvar "[@ GLOBAL-Instalacion estado]" "Creando accesos directos..." .Accesos Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - ADMINISTRACION 3.0.exe" "ADMINISTRACION - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - PRODUCTOS 3.0.exe" "PRODUCTOS - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - VENTAS 3.0.exe" "VENTAS - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - CONTABILIDAD 3.0.exe" "CONTABILIDAD - SIMPLESoft Gestión" Call "CrearAccesoDirecto.SSF" "[@ GLOBAL-Unidad de instalacion]SIMPLESoft\SIMPLESoft Gestión - RENTABILIDAD 3.0.exe" "RENTABILIDAD - SIMPLESoft Gestión" .Barra de progreso npAvanzarBarraProgreso "barra_progreso_1_clic" showerrors "True" Endif ........Uploaded files:
Quote from CSSystems on August 30, 2025, 5:31 pmThat is very elaborate.
I have been using Inno Setup 6 for years.
It is Free.
Companion product Inno Script Studio (not further being developed)
That is very elaborate.
I have been using Inno Setup 6 for years.
It is Free.
Companion product Inno Script Studio (not further being developed)
Quote from luishp on August 31, 2025, 6:35 pm@cssystems I also use Inno Setup and let ChatGPT to write the necessary scripts.
@cssystems I also use Inno Setup and let ChatGPT to write the necessary scripts.