El camino para embellecer la interfaz de usuario del paquete de instalación-nsNiuniuSkin paquete de instalación haciendo asistente de configuración visual

Se debe decir que este artículo es una extensión del artículo anterior "El camino hacia el embellecimiento del paquete de instalación UI-nsNiuniuSkin Instrucciones de producción y configuración del paquete de instalación". Sobre la base de la interfaz de línea de comandos de python, admite una interfaz de configuración visual y ¡instrucciones!

Durante mucho tiempo, nsNiuniuSkin se ha posicionado como una solución de producción de paquetes de instalación para una rápida integración en el proceso de empaquetado automatizado, basada en proporcionar a los usuarios una buena interfaz de integración; con el lanzamiento oficial de nuestro script de línea de comandos de python, combinado con nuestro El existente varias capacidades del paquete de instalación, esta parte del trabajo se ha completado con éxito.

Sin embargo, entre nuestros clientes, todavía hay muchos estudiantes, desarrolladores individuales, desarrolladores front-end web (Electron), desarrolladores back-end, etc., y la proporción de usuarios que realmente se especializan en el desarrollo de software de escritorio de Windows todavía es relativamente pequeña. y los usuarios mencionados anteriormente, debido a mi propio entorno de trabajo, estoy relativamente poco familiarizado con la configuración de la producción del paquete de instalación de NSIS, y a menudo sucede que todavía no sé cómo configurarlo después de leer nuestras instrucciones.

Ahora es el momento de pensar en cómo hacer que más usuarios se pongan al día más rápido.

Para permitir que todos los usuarios tengan una comprensión clara del proceso de configuración de la solución de producción del paquete de instalación nsNiuniuSkin, hemos desarrollado especialmente un asistente de configuración visual, presentado en una interfaz visual, para ayudar a los usuarios a encontrar los correspondientes para modificar entre muchos. parámetros de configuración Parámetros; utilizando el paquete de instalación nsNiuniuSkin para hacer un asistente de configuración visual, puede generar rápidamente el script de empaquetado del paquete de instalación y compilar el paquete de instalación; al mismo tiempo, con la ayuda del proceso de configuración, puede comprender mejor el significado de nuestros scripts de línea de comandos, que es más útil para una integración rápida en el entorno del usuario ¡En el proceso de compilación y empaquetado automáticos!

El paquete de instalación de nsNiuniuSkin crea una interfaz de asistente de configuración visual

Como puede ver, toda la interfaz del asistente se divide en tres áreas:

  • gestión de elementos de configuración
  • Área de configuración de parámetros de control
  • Área de configuración de macro personalizada

A continuación, describiremos estas tres configuraciones una por una.

Descripción del parámetro de configuración del asistente de configuración visual de producción del paquete de instalación de nsNiuniuSkin

gestión de elementos de configuración

El asistente visual de nsNiuniuSkin admite la gestión de varias configuraciones al mismo tiempo. Por ejemplo, se empaqueta una configuración en el estilo de onda y se puede crear una nueva configuración para empaquetar la plantilla en el estilo alpino; al mismo tiempo, operaciones como copiar , se puede cambiar el nombre y eliminar las plantillas existentes.

configuración de control

Los parámetros de la configuración de control no se pasan directamente a NSIS, pero en nuestro script de empaquetado de python, algunos controles lógicos antes del empaquetado real, como la firma de código, la compilación y el empaquetado de Electron, etc.; especifique los parámetros correctos, luego puede controlar con precisión el comportamiento de todo el proceso de envasado.

nombre de control usar Observación
nombre del proyecto El nombre del directorio donde se guardan los recursos de la plantilla que compraste, como: leeqia_simple En este momento, haga clic para cargar la configuración predeterminada de nsi, y la configuración predeterminada se leerá desde soft_setup.nsi
modo empaquetado El tipo de paquete de instalación a imprimir y el método de compresión. 7z: primero comprimido en app.7z y luego empaquetado
nozip: empaquetado directamente con nsis
en línea: paquete de instalación en línea escrito
Ya sea para firmar Ya sea para firmar los programas de desinstalación e instalación durante el proceso de empaquetado Si elige agregar una firma, también debe configurar el certificado de firma en el directorio Firmar
nombre del directorio de archivos locales El nombre del directorio utilizado para almacenar los archivos que se empaquetarán en el directorio de empaquetado, el valor predeterminado es FilesToInstall No se recomienda modificar este valor.
directorio fuente Esta es una configuración opcional, si está configurada, copiaremos todos los archivos en esta ruta a FilesToInstall antes de empaquetar Esta configuración no surte efecto si el empaquetado de electrones está habilitado
Desinstalar nombre de archivo El nombre del desinstalador en el paquete. El valor predeterminado es uninst.exe
Ya sea para empaquetar Electron Indica si empaquetar el programa Electron Si es así, llamará al comando npm build run para generarlo antes de empaquetarlo y copiará los archivos generados en archivos desempaquetados a FilesToInstall.Al mismo tiempo,
también copiaremos el nombre del software y el número de versión en package.json en el Directorio de proyectos de electrones, guid y otros campos
Ruta del proyecto de electrones Al habilitar el paquete Electron, especifique la ubicación del proyecto Electron La ruta donde se encuentra el archivo de configuración de empaquetado de electron-builder package.json
Ya sea para generar el archivo last.xml Si se debe generar el archivo last.xml para el actualizador de electrones después de completar el empaquetado Latest.xml contiene el nombre de archivo del paquete de instalación, el número de versión y el valor sha512 del paquete de instalación

Vale la pena señalar que existen múltiples parámetros asociados con si se trata de un paquete de electrones. El principio general es:

  1. Si desea utilizar nuestro script como la entrada de empaquetado del programa Electron, active el interruptor de empaquetado de Electron y configure los parámetros relevantes al mismo tiempo.
  2. Si la entrada que ingresó no es nuestra secuencia de comandos, pero solo usa nuestra secuencia de comandos como parte del proceso de empaquetado, entonces no active el interruptor Electron, pero especifique la configuración que se empaquetará a través de otros parámetros.

Configuración de macros personalizada

Cada una de las macros personalizadas tiene un valor predeterminado, que se define en el archivo soft_setup.nsi; si los parámetros correspondientes están configurados en la interfaz, el valor predeterminado en soft_setup.nsi ya no se utilizará para lograr la personalización de parámetros del paquete de instalación. propósito de la configuración.

nombre de control usar Observación
nombre del producto El nombre del producto que desea empaquetar, como:
control de captura de pantalla de Licha
Nombre del producto en inglés El nombre del producto en inglés del producto que desea empaquetar, como:
Leeqia ScreenCapture
Se usa en escenarios de varios idiomas. Si agrega un nuevo idioma, agréguelo en soft_setup.nsi
Nombre del paquete El nombre de archivo del paquete de instalación final, como:
Watercurtain_Setup_v2.5.0.exe
Si el empaquetado de electrones está habilitado, se generará con el valor de nombre configurado en package.json
Número de versión del producto Número de versión del producto, como:
2.5.0.0
Si el empaquetado electrónico está habilitado, se usará con el valor de versión configurado en package.json
nombre del programa principal El nombre del programa principal exe, como:
Niu Niu Screenshot.exe
Si el empaquetado electrónico está habilitado, se generará con el valor {name}.exe configurado en package.json
nombre de ruta de extensión El nombre de la carpeta que se agregará durante la instalación, como:
Leeqia_Capture
La carpeta de extensión es para que los archivos instalados estén en nuestro directorio específico
ID de registro de instalación de software En el registro, la ubicación donde se guarda la información de instalación, como:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Leeqia_Capture]
"InstPath"="C:\Program Files (x86)\Leeqia_Capture"
Si el empaquetado de electrones está habilitado, se usará con el guid en package.json
Clave de registro de ruta de instalación En el registro, la ubicación donde se guarda la ruta de instalación, como:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Leeqia_Capture]
"InstPath"="C:\Program Files (x86)\Leeqia_Capture"
Si habilita el empaquetado electrónico, use InstallLocation
Ruta de instalación predeterminada Cuando se abre el paquete de instalación por primera vez, la ruta de instalación predeterminada:
$PROGRAMFILES32${INSTALL_APPEND_PATH}
La ruta predeterminada debe determinarse en combinación con si está instalada para todos los usuarios y el permiso de ejecución del paquete de instalación.
Dirección base de descarga de paquetes en línea Al realizar la instalación en línea, la ruta básica de descarga del paquete de datos, como:
http://www.ggniu.cn/test_online_install/
Los app.7z y config.ini generados deben colocarse en el directorio correspondiente del servidor
informacion registrada Información que se muestra en los detalles del paquete de instalación, como:
Leeqia Copyright (c) 2020
información del editor Información que se muestra en los detalles del paquete, como:
Leeqia
Ya sea
para crear accesos directos por defecto
Si la casilla de verificación Crear acceso directo en la interfaz se selecciona automáticamente Se puede ajustar durante la instalación.
默认是否
添加开机启动
界面上的添加开机启动复选框是否自动选中 可在安装时调整
安装包执行权限 是否以管理员权限启动安装包:admin/user 如果选择管理员权限,建议安装到所有用户下,
同时默认安装路径选择独立于某个用户的目录
安装到当前用户
还是所有用户
安装到当前用户还是所有用户:all/current 如果选择管理员权限,建议安装到所有用户下,
同时默认安装路径选择独立于某个用户的目录

自定义配置宏中,有多个参数相互关联,比如默认安装位置、安装包执行权限、是否安装到所有用户:

  1. 如果安装到所有用户下,那么需要开启安装包管理员执行权限,同时默认安装路径请选择与特定用户无关的路径
  2. 如果安装到当前用户下,那么建议不要开启管理员权限,默认安装路径建议选择: $APPDATA${INSTALL_APPEND_PATH} 或 $LOCALAPPDATA${INSTALL_APPEND_PATH}

从nsi复制默认配置项

在设置好项目名称后(假定名称是leeqia_simple),点击此按钮,将会从.\SetupFiles\leeqia_simple\soft_setup.nsi中读取如下宏定义的值,显示到界面中:

# ====================== 自定义宏 产品信息==============================
!define /ifndef PRODUCT_NAME           		"利洽科技截图控件"		#产品名称
!define /ifndef PRODUCT_NAME_EN           	"Leeqia ScreenCapture"	#英文产品名称
!define /ifndef PRODUCT_PATHNAME			"Leeqia_Capture"  		#安装与卸载项用到的KEY,与Electron中的guid相同
!define /ifndef INSTALL_APPEND_PATH         "Leeqia_Capture"	 	#安装路径追加的名称 
!define /ifndef INSTALL_DEFALT_SETUPPATH    "$PROGRAMFILES32\${INSTALL_APPEND_PATH}"       #默认生成的安装路径  
!define /ifndef EXE_NAME               		"牛牛截图.exe"			#主程序EXE文件名
!define /ifndef PRODUCT_VERSION        		"2.5.0.0"				#版本号
!define /ifndef PRODUCT_PUBLISHER      		"Leeqia"				#发布者
!define /ifndef PRODUCT_LEGAL          		"Leeqia Copyright(c)2020"	#版权信息
!define /ifndef INSTALL_MODE_ALL_USERS 		"all"					# all current,是否安装到所有用户,默认为是,会影响注册表、快捷方式、开始菜单等
!define /ifndef INSTALL_EXECUTION_LEVEL 	"admin"					# 如果INSTALL_MODE_ALL_USERS使用current,则此处请同步改成user (RequestExecutionLevel none|user|highest|admin)
!define /ifndef INSTALL_OUTPUT_NAME    		"Test_PC_Setup_v2.5.0.exe"	#默认的安装包名称,在bat中控制传入 
!define /ifndef INSTALL_LOCATION_KEY 		"InstPath"				#默认的注册表中安装位置的key值
# ====================== 以下宏用于控制特定的行为 ==============================
!define /ifndef INSTALL_DEFAULT_AUTORUN  0		#默认是否自动开机启动
!define /ifndef INSTALL_DEFAULT_SHOTCUT  0		#默认是否添加快捷方式
!define /ifndef TEST_SLEEP 				 1		#测试安装过程中的延时开关,方便查看进度变化和轮播图,实际使用,请改成0
!define /ifndef INSTALL_DOWNLOAD_BASEURL	"http://www.ggniu.cn/test_online_install/"
# ====================== 上述具体的宏定义均可以在pre_define.nsh文件中预先定义,可任意指定为其他的值 ==============================

底部功能按钮

按钮名称 按钮用途
保存配置及脚本 根据当前的配置名称以及配置内容,保存到对应的json文件中;同时生成一个bat文件,其中包含生成的打包命令行参数
生成安装包 保存配置及脚本,紧接着调用生成的bat脚本,生成安装包
运行安装包 根据当前的配置名称以及配置内容,将打好的安装包运行起来
打开UI调试器 通过浏览器打开:安装包UI美化之路-nsNiuniuSkin界面在线设计引擎_深圳市利洽科技有限公司
此时还会默认将对应项目名称下的skin目录的路径复制到剪贴板,方便在页面中粘贴使用

nsNiuniuSkin安装包制作可视化配置向导实际操作演示

以下操作流程流程,展示了如何新建立一个配置,然后从此配置复制出来另外一个配置并进行打包的流程:

  • 执行gui_package.bat,打开配置向导

  • 输入配置名: leeqia_simple_gui,点击新建配置

  • 在项目名称中输入 leeqia_simple,点击从nsi加载默认配置 这一步将会从leeqia_simple模板目录下的nsi文件中soft_setup.nsi文件中读取各个宏的默认值,以帮忙您做好初始化配置,在此之后可以在界面上执行您想要的各种修改

  • 点击保存配置与脚本 此时将根据界面上的项目名称,以及选择的打包模式,生成generate_leeqia_simple_nozip.bat脚本,脚本中包含了根据向导生成的如何调用package.py的命令行参数,内容如下:

    chcp 65001
    python package.py --project_name="leeqia_simple" --package_mode=2 --need_sign=False --build_for_electron=False --generate_latest_file=False --files_toinstall_name="FilesToInstall" --uninst_file_name="uninst.exe" --PRODUCT_NAME="利洽科技截图控件" --PRODUCT_NAME_EN="Leeqia ScreenCapture" --INSTALL_OUTPUT_NAME="Test_PC_Setup_v2.5.0.exe" --PRODUCT_VERSION="2.5.0.0" --EXE_NAME="牛牛截图.exe" --INSTALL_LOCATION_KEY="InstPath" --INSTALL_APPEND_PATH="Leeqia_Capture" --PRODUCT_PATHNAME="Leeqia_Capture" --INSTALL_DEFALT_SETUPPATH="$PROGRAMFILES32\${INSTALL_APPEND_PATH}" --INSTALL_DEFAULT_SHOTCUT=1 --INSTALL_DEFAULT_AUTORUN=0 --INSTALL_EXECUTION_LEVEL="admin" --INSTALL_MODE_ALL_USERS="all" --INSTALL_DOWNLOAD_BASEURL="http://www.ggniu.cn/test_online_install/" --PRODUCT_LEGAL="Leeqia Copyright(c)2020" --PRODUCT_PUBLISHER="Leeqia" --TEST_SLEEP=0
    chcp 936
    

    执行脚本generate_leeqia_simple_nozip.bat脚本,即可直接生成相应的安装包;同时,借助这个pycakge.py的命令行参数内容,您可以直接集成到您的自动化打包流程中,只需要将个别参数进行进一步动态传入即可(比如版本号每次打包时传入)。

  • 在配置名称处输入leeqia_mountain_gui,点击复制配置 此时从leeqia_simple_gui的配置复制出来一个新的配置项,您需要修改项目名称为leeqia_mountain(当然也可以对其他参数进行修改),点击保存,即可生成打包高山模板的脚本了

  • 点击生成安装包,稍做等待,即可完成高山模板的安装包打包

以上流程全程可视化操作,无需任何的开发基础,相信对所有用户都有帮助!以下是实际操作的gif录屏:

nsNiuniuSkin安装包制作可视化配置向导实现原理及注意事项

在配置项管理中,一个配置项对应于一个json配置文件,用于记录这个配置项中各个配置参数;比如leeqia_simple_gui,对应于打包目录下的leeqia_simple_gui.json;可视化配置向导会遍历打包脚本目录下的json文件,加载到界面中予以展示与控制。

配置向导上的每一个配置,我们最终都转换成python的命令行参数,保存在生成的bat文件中;出于用户后续可能需要对可视化向导进行自行扩展的考虑,我们没有采用c++来实现这个向导,而是采用python脚本进行实现,开放代码,依托tkinter来做可视化展示,您后续可以自行扩展此配置向导,增加您想要的更多功能!

可视化向导不仅仅是一个nsNiuniuSkin的辅助打包工具,也是一份比较简单的利用python开发跨平台桌面程序的不错的Demo!如果您在看了我们的可视化配置向导的所有代码后,能够对您未来自己开发一些简单的小工具有一些帮助的话,那将是我们最大的荣幸!

注:

  1. 要运行本可视化向导,您的电脑上需要安装python3
  2. 要运行本可视化向导,您的电脑上需要安装tkinter模块,安装方式:命令行中输入 npm install tk
  3. 手工配置tkinter的界面太费事,我们采用了https://www.pytk.net/tkinter-helper/来配置界面

结语

nsNiuniuSkin可视化配置向导中的各个参数,均是与package.py中的命令行参数一一对应的,希望有了它,能够提高您的配置效率与准确性。

在安装包安装过程中,精美的UI往往能让客户对所安装产品的印象更加深刻,更能体现出软件服务商在用户体验上的专注与用心! 希望我们的努力,能够让安装包制作再容易一点,再快乐一点!

愿天下没有难做的安装包!

Supongo que te gusta

Origin blog.csdn.net/TragicGuy/article/details/130031279
Recomendado
Clasificación