Actualización de version 9.16 a 9.17 ↪
Actualización de versiones posteriores a 9.17 ↪
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
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 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
:: 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óntipo copia con el instalador del consever.
4. Crear un Paquete de distribución tipo copia con el archivo Aranda.Conserver.Windows.Service.exe.config
creado en los pasos 3 y 4.
5. Crear un nuevo Paquete de distribución tipo ejecución con el archivo .bat creado en los pasos 1 y 2.
6. Ingrese a la gestión de Distribución de ADM 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:
- 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)
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
9. En la configuración ADM defina los componentes de comunicación del reserver/conserver y compruebe la 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 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
:: 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%
3. Crear un Paquete de distribución tipo copia con el instalador del consever.
4. Crear un nuevo Paquete de distribución tipo ejecución con el archivo .bat creado en los pasos 1 y 2.
5. Ingrese a la gestión de distribución de ADM y cree un proyecto de Distribución de software.
6. 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%.
7. 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.
8. En la configuración ADM defina los componentes de comunicación del reserver/conserver y compruebe la conexión.