No announcement yet.

Upgrade advice - 2.14 to 2.18

  • Filter
  • Time
  • Show
Clear All
new posts

  • Upgrade advice - 2.14 to 2.18

    What is the recommended way to upgrade from an older version of mcsSprinklers to the current release level?
    My installation is version PRO (stand-alone) - I am concerned that the jump of several years to 2.18 may be too big a leap.
    I searched the forum for an upgrade procedure but wasn't able to find anything definitive.
    Is it as simple as running the current installer over the top of the existing installation?
    Will the configuration translate ok and be retained?

  • #2
    with 2.18 the install is a zip image rather than installer. backup the mcssprinklers folder and then unzip to overwrite. a common issue is mysql.dll that is in mcssprinklers folder. rename or delete it because newer version is in bin subfolder.


    • #3
      Hi Michael, thanks for the reply.
      I presume you mean the 2.18 zip image to copy from is this one:
      I tried copying the zip's contents over the top of my mcssprinklers folder (C:\Program Files (x86)\mcsSprinklers) as suggested, but after I did the service would not start.
      Starting the service generates two errors in the Application event log: System.BadImageFormatException.
      I deleted MySql.Data.dll from the mcssprinklers folder, but the result was the same.
      I restored the folder from the backup and it runs fine.

      Any suggestions?

      My system is running on Windows Server 2012 R2 (virtual hosted on Hyper-V 2012), with SQL Server 2012.


      • #4
        Sorry I did not know you were running service. There has not been a service version made for .NET4. Likely 2.14 was the last service made with .NET 3.5/Visual Studio 2008. Only interactive has been built with start typically done in the Windows startup folder. I’m not against the service with .NET4 tools, but just don’t know how to do it.


        • #5
          If all your core code is in the DLL and the service is just a wrapper, could you not just recompile under VS2017 against the .NET 4 libraries?
          I have VS2017 Community Edition (free product) and have built a service for my home instrumentation with that (it is the app that feeds weather data to mcsSprinklers over xAP).
          The service wrapper is a pretty minor part. I could have a stab at it for you if you were willing to let me access the source code.

          Failing that, how do I get the official current version to run on a headless virtual Windows server? I could start the process with Task Scheduler... but will it run with no UI or console?
          Has anyone else set it up that way?


          • #6
            I added the service compile .exe and .config (mcsSprinklersService) to the Unzip these two files (or entire zip) to where mcsSprinklers is installed.

            The service install requires VisualStudio tools. This is the problem area for most users, but you should be fine since you have these tools. I do not want to go down the installsheild route. From Windows Programs Menu you should find the tools and the one of interest is "Developer Command Prompt for VS2013" or whatever version of VS you have. run-as-administrator. CD to where you have mcsSprinklers installed and run command:
            installutil mcsSprinklersService.exe
            It will be automatic start, but need to restart PC or run services.msc to start it immediately.
            I have only tested to confirm I have access from browser on port 8008. If your ini changed the default then use whatever you set it to.


            • #7
              Thanks Michael, I was able to get the latest code running as a service with the extra files you provided, after a little more figuring out. It now reports itself to be version

              I had to modify the approach because the target machine - the server where I wanted the service to be running - does not have VS installed and hence the associated Developer Command Prompt.

              However, "installutil.exe" needed for installing and uninstalling .NET-based services is provided as part of the .NET framework. It can be run in any elevated command prompt once you find where it is located and either modify the exe search path (which is what the Developer Command Prompt does) or reference it directly with a fully qualified path from the command line. For me it was located at:
              "C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.e xe"
              Hence VS is not actually required to install as a service - handy to know.


              • #8
                great that you got it working. with your feedback I will put a resume file in that will capture all the ways it can be installed.