Precondiciones
-
El servidor del conserver debe tener un agente instalado, apuntando al repserver y con el módulo de distribucion activado en el perfil del agente.
-
El agente instalado en el conserver debe tener un perfil de agente sin listado de nodos de comunicación.
Actualización de version 9.16 a 9.17
⚐ Nota: Para la instalación del Conserver se requiere que el servidor tenga la versión 4.8 del framework de .NET o una versión posterior
-
Crear un archivo con extensión .bat (ej: UpdateConserver.bat)
-
Copiar y editar el siguiente script en el archivo creado y guárdelo.
⚐ Nota:
- Ingresar en la variablepath
la ruta donde se encuentra instalado el conserver.
- Ingresar en la variableconserver
el nombre completo del instalador del conserver
- Si tiene más de un conserver y se encuentran instalados en una ruta diferente debe crear un .bat y un proyecto diferente por cada uno de los conserver
~~~batch
:: Ingresar en la variable path la ruta donde se encuentra instalado el conserver
SET path = C:\"Program Files (x86)"\Aranda\Conserver
:: Ingresar el nombre del instalador .exe del conserver
SET conserver = Aranda.Conserver.Installer.9.17.0.0.exe
SET config = Aranda.Conserver.Windows.Service.exe.config
MsiExec.exe /X{96E7810B-02CE-40D1-A17D-4FDAC64B5B0C} /qn
@timeout /t 6 /nobreak
cd %TEMP%
cmd.exe /c %conserver% /S /v/qn
@timeout /t 20 /nobreak
del %path%\%config%
copy %TEMP%\%config% %path%
sc start ArandaConserverWindowsServiceV9
del %TEMP%\%conserver%
del %TEMP%\%config%
~~~
-
Crear un archivo con extensión
.config
y nombrarloAranda.Conserver.Windows.Service.exe.config
-
Copiar, configurar los campos de la llave <appSettings> y guardar.
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <connectionStrings> <add name="local" connectionString="Data Source=Data\local.dat;busytimeout=60" providerName="System.Data.SQLite.EF6" /> </connectionStrings> <appSettings> <add key="dataConfiguration:defaultDatabase" value="local" /> <add key="Serilog:MinimumLevel" value="Debug" /> <add key="Serilog:WriteTo:0:Name" value="File" /> <add key="Serilog:WriteTo:0:Args:path" value="Logs\log.txt" /> <add key="Serilog:WriteTo:0:Args:shared" value="true" /> <add key="Serilog:WriteTo:0:Args:rollingInterval" value="Day" /> <add key="Logging:LogLevel:Default" value="Information" /> <add key="serverAddress" value="" /> <add key="enableProxy" value="false" /> <add key="proxyAddress" value="" /> <add key="proxyUser" value="" /> <add key="proxyPassword" value="" /> <add key="privateIp" value="" /> <add key="publicIp" value="" /> <add key="mqttServerPort" value="1884" /> <add key="mqttIp" value="" /> <add key="publicServerPort" value="80" /> <add key="privateServerPort" value="80" /> <add key="p2pPort" value="9501" /> <add key="maxDistributionSleepMsPerThread" value="8" /> <add key="maxDistributionThreads" value="4" /> <add key="enableDiscoveryCommon" value="1" /> <add key="SecondsPingRemoteServer" value="60" /> <add key="enableSecurity" value="false" /> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /> </startup> <entityFramework> <providers> <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="mssqllocaldb" /> </parameters> </defaultConnectionFactory> </entityFramework> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="DotNetZip" publicKeyToken="6583c7c814667745" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.14.0.0" newVersion="1.14.0.0" /> </dependentAssembly> <dependentAssembly> <publisherPolicy apply="no" /> <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" /> <bindingRedirect oldVersion="4.121.0.0 - 4.65535.65535.65535" newVersion="4.122.19.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.EnvironmentVariables" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-106.13.0.0" newVersion="106.13.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.Binder" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.6" newVersion="6.0.0.6" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.JsonWebTokens" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Protocols" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Protocols.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.23.1.0" newVersion="6.23.1.0" /> </dependentAssembly> </assemblyBinding> </runtime> <system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite.EF6" /> <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> <remove invariant="System.Data.SQLite" /> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> </DbProviderFactories> </system.data> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name=""> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <services> <service name="Aranda.Conserver.Ws.Service1"> <endpoint address="" binding="basicHttpBinding" contract="Aranda.Conserver.Ws.IService1"> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:8733/Design_Time_Addresses/Aranda.Conserver.Ws/Service1/" /> </baseAddresses> </host> </service> </services> </system.serviceModel> </configuration>
-
Crear un Paquete de distribución de tipo copia con el instalador del consever Ver Creación de paquetes de software.
-
Crear un Paquete de distribución de tipo copia con el archivo
Aranda.Conserver.Windows.Service.exe.config
creado en los pasos 3 y 4 Ver Creación de paquetes de software. -
Crear un nuevo Paquete de distribución de tipo ejecución Ver Creación de paquetes de software con el archivo .bat creado en los pasos 1 y 2.
-
Ingrese a la sección software Distribución y cree un proyecto de Distribución de Software.
- En el proyecto agregue los paquetes creados en los pasos 5, 6 y 7 en el siguiente orden:
- Paquete del instalador del conserver (Paquete tipo copia) agregando como ruta %TEMP%.
- Paquete
Aranda.Conserver.Windows.Service.exe.config
(Paquete tipo copia) agregando como ruta %TEMP%. - Paquete
UpdateConserver.bat
(Paquete de tipo ejecución)
- Ejecute la distribución en el equipo a realizar la actualización del conserver.
⚐ Nota: Si tiene más de un conserver y se encuentran instalados en una ruta diferente, debe crear un
.bat
, un.config
y un proyecto diferente por cada uno de los conserver. Si los conserver mantienen la ruta de instalación y tienen la misma configuración se pueden enviar en el mismo proyecto de distribución
- Ingrese a la consola de configuración de ADM, en la sección ADM del menú principal, seleccione la opción Comunicaciones y conserver y haga clic en Probar Conexión
Actualizacion de versiones posteriores a 9.17
Para realizar la actualización del conserver mediante proyecto de distribución es necesario seguir los siguientes pasos:
-
Crear un archivo con extensión .bat (ej: UpdateConserver.bat)
-
Copiar y editar el siguiente script en el archivo creado y guárdelo.
⚐ Nota:
- Ingresar en la variablepath
la ruta donde se encuentra instalado el conserver.**
- Ingresar en la variableconserver
el nombre completo del instalador del conserver
- Si tiene más de un conserver y se encuentran instalados en una ruta diferente debe crear un .bat y un proyecto diferente por cada uno de los conserver
~~~batch
:: Ingresar en la variable path la ruta donde se encuentra instalado el conserver
SET path = C:\"Program Files (x86)"\Aranda\Conserver
:: Ingresar el nombre del instalador .exe del conserver
SET conserver = Aranda.Conserver.Installer.9.16.3.6.exe
copy %path%\Aranda.Conserver.Windows.Service.exe.config %TEMP%
@timeout /t 3 /nobreak
MsiExec.exe /X{96E7810B-02CE-40D1-A17D-4FDAC64B5B0C} /qn
@timeout /t 6 /nobreak
cd %TEMP%
cmd.exe /c %conserver% /S /v/qn
@timeout /t 20 /nobreak
del %path%\Aranda.Conserver.Windows.Service.exe.config
@timeout /t 3 /nobreak
copy %TEMP%\Aranda.Conserver.Windows.Service.exe.config %path%
@timeout /t 3 /nobreak
sc start ArandaConserverWindowsServiceV9
del %TEMP%\Aranda.Conserver.Windows.Service.exe.config
del %TEMP%\%conserver%
~~~
-
Crear un Paquete de distribución de tipo copia con el instalador del consever Ver Creación de paquetes de software.
-
Crear un nuevo Paquete de distribución de tipo ejecución Ver Creación de paquetes de software con el archivo .bat creado en los pasos 1 y 2.
-
Ingrese a la sección software Distribución y cree un proyecto de Distribución de Software.
- En el proyecto agregue los paquetes creados en el paso 3 y 4 adicionando primero el paquete del instalador del conserver (Paquete tipo copia) agregando como ruta %TEMP%.
- Ejecute la distribución en el equipo a realizar la actualización del conserver.
⚐ Nota:
- Si tiene más de un conserver y se encuentran instalados en una ruta diferente, debe crear un .bat y un proyecto diferente por cada uno de los conserver. Si los conserver mantienen la ruta de instalación se pueden enviar en el mismo proyecto de distribución.
-
Si la distribución ha sido exitosa, el conserver queda actualizado.
-
Ingrese a la consola de configuración de ADM, en la sección ADM del menú principal, seleccione la opción Comunicaciones y conserver y haga clic en Probar Conexión