0

My compiling experience - github version as of July 23, 2019.

burque505 1 month ago • updated 4 weeks ago 5

I would like to share how I got Warewolf to compile and run with Visual Studio 2019. I don't claim this is a best practice, it just worked.

  • I compiled the Server.sln solution as suggested. Once I had the dependencies restored, it compiled without error, although not without warnings.
  • I then tried to compile Studio.sln, which made it almost all the way through, but failed in the Tests section due to a dependency on TestBase.dll. I did not clean the Studio.sln solution.
  • I compiled AcceptanceTesting.sln, which provided the missing dll.
  • I then rebuilt Studio.sln, which now compiled without error.
  • I did a test run (not as suggested by the instructions online) by starting \Dev\Dev2.Server\bin\Debug\Warewolf Server.exe from the command line. It threw a System.IO.FileLoadException. On further investigation, it appears there is a dependency on IronPython 2.5.0, which I did not have installed. I installed this version of IronPython from a downloaded .msi, and recompiled the server. It now started without error.
  • I was then able to start Studio by running \Dev\Dev2.Studio\bin\Debug\Warewolf Studio.exe from the command line.
  • As everything appeared to work, I then compiled Web.sln. The npm installation took a very long time, but it installed.
  • After restarting Server and Studio, everything still works.

Notes and questions:

1) All the solutions I compiled reference VS 2019 (i.e. 16.0). Others reference VS 2019 (i.e. 15.0).

2) Although I have VS 2017 installed side-by-side, I have not attempted to install the solutions that reference that version of VS. My questions are - do I need these other solutions? Can I compile Release.sln without them?

Regards,

burque505

web studio server installer

Hi Burque, thank you for sharing!

Is the installation still stable? 

I'm thinking of creating an auto installer. Did you create one? Some solutions are using Bitnami for it.

The ideia is create a fast auto install package to onpremise clients. Any ideia?

Hi Alberthan, I'm experiencing odd problems with MS Com objects, but I'm not certain that has anything to do with Warewolf or the version. I haven't noticed any instability yet, though, in general.


As far as installers, I've been meaning to try  SSESetup but haven't done it yet.

Regards,

burque505

I took a look into SSESetup. It looks promising. 

Do you know if it's can compile the soffware or just create a installer window?

Please, keep us informed about your experiments.

Regards,

OK, as the one who builds Warewolf everyday for a living maybe I can explain some of this weirdness.

  • I am aware of the compile warnings when compiling the server solution. My plan is to ignore all the warnings at the file level and then have the dev team un-ignore all files they touch and to fix all the warnings on that file. I believe this will gradually but consistently improve code quality over the parts of the code that need it most.
  • The studio.sln is not used by the build engine and therefore problems with it are not immediately detected. It does get used by developers such as yourself so issues with it do tend to get back to me eventually and it does get maintained. The prefered solution right now is AcceptanceTesting.sln, which contains all relevant projects.
  • Due to the principle of least privilage, running \Dev\Dev2.Server\bin\Debug\Warewolf Server.exe requires administrator permissions. Try right clicking the .exe file and selecting "Run as administrator" to avoid file load errors due to not having enough permissions to load dependencies.
  • Any project not in the AcceptanceTesting solution is irrelevant to Warewolf and therefore not kept up to date. You can expect any out of date projects to reference out of date dependencies. I don't actually have a plan for those old projects that are no longer included in the AcceptanceTesting solution, if they are in the web.sln then they will need to be added to AcceptanceTesting and if they are not in any solution they need to be removed. Personally, I'd like to deprecate AcceptanceTesting solution and introduce a new solution for shared code, code that is used by both server and studio.
  • Release is another solution that is not automatically built and sometimes takes longer to fix than the default solution (AcceptanceTesting). It contains no test assemblies and all server and studio projects. FYI: as an optimisation, test assemblies are never compiled in release config, this goes for all solutions.

Thank you, Ashley, for the detailed response.

  • I had changed Warewolf Server.exe to run as administrator right away, before starting for the first time.
  • I didn't see a mention of my IronPython issue, which was easy enough to solve, and perhaps most people don't have it.
  • I haven't yet tried to compile the Release, and probably won't until I get my COM issues resolved. Primarily, due to the fact that there is no filter function when selecting a class, it can take me up to five to fifteen minutes to select the Word Application class selected (just try scrolling through all those classes without hitting one by accident, thus having to deleted the dotnetdll and start all over again. I just scrolled through four hundred classes one by oneand had it bail on me, so I am, for moment waiting until I get a working example posted, requested elsewhere before I undertake this exercise again :)).

Filter, please! Thanks :)