Home
Configuración Broker Collapse menú
Reportes Collapse menú
Alertas Collapse menú
Integración API ADM Collapse menú
    Actualización del conserver mediante proyecto de Distribución

    Precondiciones

    1. 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.

    2. 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


    1. Crear un archivo con extensión .bat (ej: UpdateConserver.bat)

    2. Copiar y editar el siguiente script en el archivo creado y guárdelo.

    Nota:
    - Ingresar en la variable path la ruta donde se encuentra instalado el conserver.
    - Ingresar en la variable conserver 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%
    ~~~
    
    1. Crear un archivo con extensión .config y nombrarlo Aranda.Conserver.Windows.Service.exe.config

    2. 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>
      
    3. Crear un Paquete de distribución de tipo copia con el instalador del consever Ver Creación de paquetes de software.

    4. 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.

    5. 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.

    6. Ingrese a la sección software Distribución y cree un proyecto de Distribución de Software.

    7. En el proyecto agregue los paquetes creados en los pasos 5, 6 y 7 en el siguiente orden:
      1. Paquete del instalador del conserver (Paquete tipo copia) agregando como ruta %TEMP%.
      2. Paquete Aranda.Conserver.Windows.Service.exe.config (Paquete tipo copia) agregando como ruta %TEMP%.
      3. Paquete UpdateConserver.bat (Paquete de tipo ejecución)
    8. 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


    1. 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:

    1. Crear un archivo con extensión .bat (ej: UpdateConserver.bat)

    2. Copiar y editar el siguiente script en el archivo creado y guárdelo.

    Nota:
    - Ingresar en la variable path la ruta donde se encuentra instalado el conserver.**
    - Ingresar en la variable conserver 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%
    ~~~
    
    1. Crear un Paquete de distribución de tipo copia con el instalador del consever Ver Creación de paquetes de software.

    2. 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.

    3. Ingrese a la sección software Distribución y cree un proyecto de Distribución de Software.

    4. 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%.
    5. 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.


    1. Si la distribución ha sido exitosa, el conserver queda actualizado.

    2. 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