Resumen Este artículo analiza cómo usar la tecnología de Windows Installer para publicar programas .NET y cómo usar código nativo para determinar si .NET Framework está instalado en la máquina de destino; de lo contrario, .NET Framework se instalará automáticamente y luego; Se instalará el programa .NET propio del autor.
-------------------------------------------------- ----------------------------------
Contenido de este artículo Cree su propio instalador para publicar .NET Framework
Resumen de cómo utilizar su propio instalador nativo por el autor
-------------------------------------- ---------- ----------------------------------------
Contenido de este artículo
1. Utilice VS.NET para crear el instalador.
2. Cómo implementar .NET Framework en la máquina de destino.
3. Cómo utilizar código nativo para convertir .NET Framework y su propio programa de instalación en un programa de instalación unificado. Este programa instalará automáticamente .NET Framework y luego instalará automáticamente el propio programa del autor si no hay .NET Framework en la máquina de destino.
-------------------------------------------------- -------------------------------
Para crear su propio instalador en VS.NET, podemos crear "Proyectos de configuración e implementación" "Proyecto, es muy flexible y conveniente convertir su propio programa .NET en un archivo de Windows Installer. Por ejemplo, podemos personalizar fácilmente las siguientes opciones:
1. Ya sea para colocar un acceso directo en el escritorio.
2. Registre su propio tipo de archivo que puede abrir con su propio programa haciendo doble clic en el archivo.
3. Procesamiento de registro En el siguiente sitio de MSDN, podemos obtener ejemplos de cómo crear nuestros propios instaladores a través de Proyectos de configuración e implementación en VS.NET:
http://msdn.microsoft.com/library/en-us/vsintro7/html/vbconDeploymentScenarios.asp
--------------------- -------------------------------------------------- ---
Publicar .NET Framework
.NET Framework 1.0 proporciona un archivo exe utilizado para volver a implementar .NET: Dotnetfx.exe. Contiene Common Language Runtime y otro contenido esencial cuando se ejecutan programas .NET.
Podemos descargar el archivo exe desde el siguiente sitio:
http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml
Al mismo tiempo, también podemos encontrar este archivo en el CD o DVD de instalación de VS.NET.
Podemos implementar .NET Framework en la máquina de destino ejecutando Dotnetfx.exe de varias maneras:
1. Implementado a través de Microsoft Systems Management Server.
2. Implementado a través de Active Directory.
3. Utilice herramientas de terceros.
Para información específica, podemos consultar los siguientes artículos:
http://msdn.microsoft.com/library/en-us/dnnetdep/html/redistdeploy.asp
--------------------- -------------------------------------------------- ---
Cree su propio programa de instalación nativo. Si queremos publicar nuestro programa .NET en la máquina de destino y no estamos seguros de si la máquina de destino tiene instalado .NET Framework, entonces necesitamos diseñar un fragmento de código no administrado. Determinemos nosotros mismos si la máquina de destino tiene instalado .NET Framework. De lo contrario, ejecute Dotnetfx.exe para instalar .NET Framework y luego use Windows Installer para instalar su propio programa.
En la siguiente página web de MSDN podemos conseguir un instalador implementado en C++ no administrado y su código fuente:
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
1. En la clase CSettings, obtenga la ruta a su propio archivo de instalación MSI y dotnetfx.exe, así como otras configuraciones propias leyendo "settings.ini". (como la versión de idioma de .NET Framework)
GetCaptionText(nulo)
GetDialogText(nulo)
GetErrorCaptionText(nulo)
ObtenerIniName(nulo)
ObtenerNombreProducto(nulo)
La función Parse() se utiliza para analizar el archivo settings.ini.
2. En el archivo Main.cpp, la función global FxInstallRequired() determina si se debe instalar .NET Framework en la máquina de destino. FxInstallRequired() detectará el siguiente valor de clave de registro y la configuración de versión e idioma de dotnetfx.exe.
HKLMSOFTWAREMicrosoft.NETFrameworkpolicyv1.0
3. Si necesita instalar .NET Framework, llame al siguiente comando de forma silenciosa en la función global ExecCmd() para instalar dotnetfx.exe:
dotnetfx.exe /q:a /c:"instalar /l /q"
4. Llame al siguiente comando en la función global ExecCmd() para instalar su propio archivo MSI:
msiexec /i <su archivo MSI> REBOOT=ReallySuppress
--------------------------------------- ----------------------------------------
Cómo usarlo Si usamos el código nativo anterior Como nuestro propio programa de instalación, podemos combinar nuestro propio programa .NET con él mediante los siguientes pasos:
1. Convierta su propio programa .NET en un archivo de Windows Installer (.MSI).
2. Abra el archivo "settings.ini" y configure la ruta del archivo MSI y el nombre del archivo de su propio programa .NET en la clave "Msi" en la clave "FxInstallerPath", establezca la ruta en dotnetfx.exe; La información de parámetros específicos se puede obtener del siguiente artículo:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/redistdeploy.asp
3. Envíe "setup.exe", "settings.ini", "dotnetfx.exe" y su propio archivo de instalación MSI a la máquina de destino, y luego ejecute "setup.exe". El programa de instalación detectará automáticamente si hay uno. .NET Framwork; de lo contrario, primero se ejecutará dotnetfx.exe.
Mediante los pasos anteriores, puede implementar con éxito su programa .NET en una máquina que no tiene instalado un entorno .NET Framwork.
-------------------------------------------------- ----------------------------------
Resumen A través de los pasos anteriores, puede implementar exitosamente su programa .NET sin instalación Entorno de .NET Framework.
-------------------------------------------------- ----------------------------------
Autor Zhang Guanghui
22 de octubre de 2002