EN
Español
English
Português
    Maintaining the Conserver via Distribution Project


    Preconditions

    • The conserver server must have an agent installed, pointing to the repserver and with the distribution module enabled in the agent profile.
    • The agent installed on the conserver must have an agent profile with no list of communication nodes.


    Upgrade from version 9.16 to 9.17

    Note: Installation of the Conserver requires that the server has version 4.8 of the .NET framework or later


    1. Create a file with .bat extension (e.g., UpdateConserver.bat)

    2. Copy and edit the following script in the created file and save it.

    Note:
    - Enter in the variable path the route where the conserver is installed.
    - Enter in the variable conserver the full name of the conserver installer
    - If you have more than one conserver and they are installed on a different path, you must create a different .bat and project for each of the conservers


    :: 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. Create a file with an extension .config and name it Aranda.Conserver.Windows.Service.exe.config

    2. Copy, configure key fields <appSettings> and save.

        <?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. Create a Distribution Packageguy copy with the installer of the consever.

    4. Create a Distribution Package guy copy with the Aranda.Conserver.Windows.Service.exe.config created in steps 3 and 4.

    5. Create a new Distribution Pack guy execution with the file .bat created in steps 1 and 2.

    6. Log in to ADM Distribution management and create a Software Distribution Project.

    7. In the project, add the packages created in steps 5, 6, and 7 in the following order:

    • Conserver Installer Package (Copy type package) adding %TEMP% as a path.
    • Package Aranda.Conserver.Windows.Service.exe.config (Copy type package) adding %TEMP% as a path.
    • Package UpdateConserver.bat (Run-type package)


    8. Run the distribution on the computer to perform the Conserver update.

    Note: If you have more than one conserver and they are installed on a different path, you must create a .batone .config and a different project for each of the conservers. If the conservers maintain the installation path and have the same configuration, they can be submitted in the same distribution project


    9. In the ADM configuration, define the Reserver/Conserver Communication Components and check the connection.


    Upgrading from versions after 9.17

    To update the conserver using a distribution project, you need to follow the following steps:

    1. Create a file with .bat extension (e.g., UpdateConserver.bat)

    2. Copy and edit the following script in the created file and save it.

    Note:
    - Enter in the variable path the route where the conserver is installed.**
    - Enter in the variable conserver the full name of the conserver installer
    - If you have more than one conserver and they are installed on a different path, you must create a different .bat and project for each of the conservers


    :: 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. Create a Distribution Package guy copy with the installer of the consever.

    4. Create a new Distribution Pack guy execution with the file .bat created in steps 1 and 2.

    5. Log in to ADM Distribution Management and create a Software Distribution Project.

    6. In the project add the packages created in step 3 and 4 by first adding the conserver installer package (Copy type package) adding %TEMP% as a path.


    7. Run the distribution on the computer to perform the Conserver update.

    Note:
    - If you have more than one conserver and they are installed on a different path, you must create a different .bat and project for each of the conservers. If the conservers maintain the installation path, they can be submitted in the same distribution project.


    If the distribution has been successful, the conserver is updated.

    8. In the ADM configuration, define the Reserver/Conserver Communication Components and check the connection.