Qt está empaquetado en un paquete de instalación setup.exe

Qt está empaquetado en un paquete de instalación setup.exe

1. Breve introducción

Una vez que se completa el desarrollo del proyecto Qt, se debe empaquetar el programa de lanzamiento y, dado que no hay un entorno de configuración de Qt en la computadora del usuario, es necesario copiar el archivo exe generado por el lanzamiento y los archivos dll dependientes en una carpeta. y luego utilice la herramienta de empaquetado Inno Setup para empaquetarlo. Puede liberarse en un paquete de instalación exe .

En segundo lugar, configure el icono de la aplicación

El icono del archivo exe que compilamos y generamos es un cuadro blanco que viene con Qt, que no se ve muy bien ¿Cómo podemos configurar el icono del programa nosotros mismos? Primero cree un archivo en formato ico. Hay muchos en línea que pueden convertir imágenes png o jpg en archivos de icono en formato ico, y luego coloque el archivo ico en el directorio del código fuente, que es la misma carpeta que el archivo .pro. Como se muestra abajo:

inserte la descripción de la imagen aquí

En el archivo de proyecto .pro agregue:

RC_ICONS = music.ico // 这里的music.ico是我的ico文件的名字,改成你自己的ico文件名

Después de agregar, asegúrese de volver a hacer qmake y luego ejecute su programa nuevamente, así que mire el archivo exe en su carpeta de depuración o versión, allí estará el ícono que configuró.

3. Procedimiento de liberación

Actualmente, la computadora es win10 de 64 bits. Las siguientes operaciones usan el compilador Qt de 32 bits. El compilador de 64 bits se probó y no tuvo éxito.

El programa de publicación primero debe obtener los archivos dll dependientes Hay dos métodos aquí. El primer método es ir al directorio bin del directorio de instalación de Qt (el autor aquí es H:\Qtcreator\Qtcreator\5.12.9\mingw73_32) para encontrar los archivos dll dependientes. El segundo método es usar windeployqt.exe, la herramienta de publicación que viene con Qt, para generar los archivos dll dependientes. Aquí nos enfocamos en el segundo método, los pasos son los siguientes:

(1) Compile y genere el programa exe en modo Release , es decir, seleccione Release en el modo de depuración y ejecución .

inserte la descripción de la imagen aquí

Después de una operación exitosa, si se marca "compilación oculta" para separar la ruta del código fuente de la ruta de compilación, el archivo exe se generará en la carpeta build-music-Desktop_Qt_5_12_9_MinGW_32_bit-Release , como se muestra en la Figura 1 a continuación; de lo contrario, el archivo exe El archivo se generará en el directorio del proyecto de código fuente. El archivo exe se generará en la carpeta de lanzamiento , como se muestra en la Figura 2 a continuación.

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Copie el archivo ejecutable music.exe en otra carpeta, aquí lo copio en H:\QMusic y luego busco "Qt 5.12.9(MinGW 7.3.0 de 32 bits) en "Menú de inicio Qt5.12.9" " para ejecutar el archivo, abra el archivo run.

inserte la descripción de la imagen aquí

Ejecute el cd H:\QMusiccomando para ingresar al directorio donde se encuentra el archivo exe, luego ejecute el dircomando para ver el directorio y finalmente ejecute el windeployqt cleanRobot.execomando , Qt copiará automáticamente todos los dll requeridos por el programa.

inserte la descripción de la imagen aquí

Por supuesto, puede haber algunos dlls que no necesitemos, como el siguiente D3Dcompiler_47.dll, para que el programa de publicación sea lo más pequeño posible, podemos eliminar estos dlls uno por uno y luego abrir el programa exe para ver qué dlls se eliminan y luego abrir Si el programa no está disponible, guárdelo y elimine el resto.

Luego, copie las carpetas integradas, como la carpeta de imágenes y la carpeta myMusic en la figura a continuación, elimine los archivos DLL innecesarios y la carpeta del paquete de instalación exe se muestra en la figura a continuación.

inserte la descripción de la imagen aquí

De hecho, en este paso, se puede liberar toda la carpeta, pero si desea empaquetarla en un paquete de instalación exe, debe realizar los siguientes pasos.

En cuarto lugar, el programa de embalaje.

Inno Setup es un software gratuito de creación de instaladores de Windows. Pequeño, simple y exquisito son sus características más importantes, admite secuencias de comandos pascal, puede crear rápidamente una interfaz de instalación de estilo estándar de Windows 2000, suficiente para completar las tareas generales de instalación.

Dirección de descarga oficial: http://www.jrsoftware.org/isdl.php#stable

Puede instalarlo directamente después de la descarga.

Una vez que se completa el desarrollo del proyecto, se debe lanzar el programa del paquete y se puede usar el software Inno Setup para hacer que la instalación sea ejecutable. A continuación se detalla cómo empaquetar la aplicación:

(1) Abra Inno Setup Compiler, haga clic en [archivo] → [nuevo], cree un nuevo asistente de script y luego haga clic en [siguiente];

inserte la descripción de la imagen aquí

(2) Ingrese "nombre de la aplicación", "versión de la aplicación", "editor de la aplicación", "sitio web de la aplicación" en la información de la aplicación, esta información se generará automáticamente en el script y luego haga clic en siguiente;

inserte la descripción de la imagen aquí

(3) Complete la ruta predeterminada y el nombre de la carpeta del archivo del paquete durante la instalación y luego haga clic en Siguiente;

inserte la descripción de la imagen aquí

(4) Seleccione el archivo ejecutable principal de la aplicación, es decir, el archivo exe que compiló y generó, haga clic en "Agregar carpeta" a continuación, coloque todos los dlls, recursos y archivos de configuración que su programa necesita para ejecutarse en una carpeta, seleccione esta carpeta y luego haga clic en Siguiente;

inserte la descripción de la imagen aquí

Nota: Agregar carpeta es la carpeta principal para agregar .exe, que incluye todos los dll dependientes y otros archivos.

(5) A continuación, haga clic en Siguiente de nuevo de forma predeterminada para acceder a la siguiente interfaz. Ingrese el nombre de la aplicación que se muestra en el menú de inicio, qué funciones se requieren, y marque el frente, que generalmente es el predeterminado, y luego haga clic en Siguiente;

inserte la descripción de la imagen aquí

(6) Aquí puede elegir "archivo de licencia", "archivo antes de la instalación" (como archivo Léame, etc.), "mostrar información después de la instalación", etc., y luego hacer clic en Siguiente;

(7) A continuación, haga clic en Siguiente de forma predeterminada para volver a la siguiente interfaz. Seleccione "Idioma de instalación" y haga clic en Siguiente;

inserte la descripción de la imagen aquí

(8) Seleccione "Carpeta de salida del compilador personalizado", "Nombre de archivo básico de salida del compilador", "Archivo de icono del instalador personalizado" y "Contraseña de instalación", y luego haga clic en Siguiente;

inserte la descripción de la imagen aquí

9) Elija si usar el comando de compilación #define aquí, elija sí, es decir, use la macro #define para definir algunas constantes en el script generado, lo cual es conveniente para escribir scripts, verifique si lo desea y luego haga clic en Siguiente;

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Después de hacer clic en Finalizar en el último paso, se le preguntará si desea compilar el nuevo script inmediatamente. Siempre hacemos clic en Sí de forma predeterminada. Esta secuencia de comandos se genera automáticamente en función del contenido que completamos anteriormente. Puede usar el compilador directamente o puede volver a escribirlo usted mismo. El código de secuencia de comandos generado se publica a continuación.

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "QMusic"
#define MyAppVersion "1.0"
#define MyAppExeName "music.exe"
#define MyAppAssocName MyAppName + " File"
#define MyAppAssocExt ".myp"
#define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt

[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={
    
    {
    
    D7AE9662-51F1-4698-9E39-97DEA943C371}
AppName={
    
    #MyAppName}
AppVersion={
    
    #MyAppVersion}
;AppVerName={
    
    #MyAppName} {
    
    #MyAppVersion}
DefaultDirName=H:/exe_file
ChangesAssociations=yes
DefaultGroupName={
    
    #MyAppName}
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=H:\exe_file
OutputBaseFilename=music
Password=123456
Compression=lzma
SolidCompression=yes
WizardStyle=modern

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "H:\QMusic\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "H:\QMusic\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Registry]
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
  • Se produce un error durante la operación, que se puede modificar directamente en el script.
  • Si desea empaquetar una nueva versión del archivo del paquete de instalación exe, no necesita volver a realizar el proceso anterior, simplemente reemplace el archivo ejecutable exe original y luego abra el archivo de secuencia de comandos generado originalmente para ejecutar (ejecutar la secuencia de comandos en el software del compilador inno setup).) para generar una nueva versión del archivo del paquete de instalación exe.

Finalmente, se genera el archivo del paquete de instalación exe, haga clic para abrir el archivo exe para instalar,

Supongo que te gusta

Origin blog.csdn.net/weixin_44069765/article/details/121868710
Recomendado
Clasificación