Installing Orthanc

Hello there! Although i’ve managed to build and even modify it a little bit, so far i’ve been using the downloadable installer from https://www.orthanc-server.com/download-windows.php and replacing the corresponding .dll files,
what would i need to do to install orthanc from scratch?

I tried running the Install project but i’m getting the following error:

Severity Code Description Project File Line Suppression State
Error MSB3073 The command “setlocal
“C:\Program Files\CMake\bin\cmake.exe” -DBUILD_TYPE=Release -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd” exited with code 1. INSTALL C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets 133

Check out the build instructions for Windows (“Native Windows build with Microsoft Visual Studio”):
https://bitbucket.org/sjodogne/orthanc/src/default/INSTALL

Sébastien-

Maybe i wasn’t as clear as i should’ve been,
my problem isn’t with compiling/building orthanc but with creating a self installed version of orthanc like the one we get from the email link at https://www.orthanc-server.com/download-windows.php.
The link you posted is for building Orthanc, which i already did…

The Orthanc installers are automatically generated by our continuous integration server using InnoSetup:
http://www.jrsoftware.org/isinfo.php

Would it be possible for you to provide the installer script for InnoSetup?

Our InnoSetup scripts are auto-generated, and this auto-generation is too tight to our own build infrastructure to be useful to anyone else.

You should give a try learning InnoSetup by yourself: This is really easy, and you’ll quickly have your own installer.

The “innounp” decompiler can assist you in this task by retrieving the content of the official installers:
http://innounp.sourceforge.net/

“innounp” will notably extract a file named “install_script.iss” that contains the source of the original InnoSetup script.

Thx for the help, there are a few issues with this though, it uses some files that the basic compilation of orthanc did not generate like:
PatchDefaultConfiguration.exe, OrthancService.exe, OrthancWSIDicomizer.exe, OrthancWSIDicomToTiff.exe or any of the .json files…

Check out the downloads page, for instance the following page contains “OrthancWSIDicomizer.exe” and “OrthancWSIDicomToTiff.exe”:
https://www.orthanc-server.com/browse.php?path=/whole-slide-imaging

Regarding the JSON files, they are readily extracted by “innunp.exe”.

The only missing files are “PatchDefaultConfiguration.exe” and “OrthancService.exe”. I’ll try and open-source them in the following next months, but this is very low-priority topic.

Oks, in the meantime i can probably use the files that the innounp extracted right?
There was a few problems when trying to compile the extracted .iss though…

I’ve gotten errors regarding all files in the “embedded” folder, which weren’t extracted by innounp and aren’t generated by building the orthanc source code

[Setup]

LicenseFile=embedded\License.rtf
WizardImageFile=embedded\WizardImage0.bmp
WizardSmallImageFile=embedded\WizardSmallImage0.bmp

[Languages]

Name: “default”; MessagesFile: “embedded\default.isl”;

I’ve also gotten errors regarding the following function(that couldn’t be found):
[Dirs]
Name: “{code:GetOrthancDir}”;

[Registry]
Root: HKLM32; Subkey: “SOFTWARE\Orthanc\Orthanc Server”; ValueName: “OrthancDir”; ValueType: String; ValueData: “{code:GetOrthancDir}”; MinVersion: 0.0,5.0; Flags: uninsdeletekey

Any tips or suggestions regarding these problems?

Oks, in the meantime i can probably use the files that the innounp extracted right?

Yes, that’s exactly the point of my previous answers.

There was a few problems when trying to compile the extracted .iss though…
I’ve gotten errors regarding all files in the “embedded” folder, which weren’t extracted by innounp and aren’t generated by building the orthanc source code

[…]

Any tips or suggestions regarding these problems?

Read the InnoSetup manual:
http://www.jrsoftware.org/ishelp/

Thanks for the help!
I managed to get a functional customized installer working! Couldn’t find anything about the {code:GetOrthancDir} function though, so i ended up just ignoring it and replacing it with {app}.
It would be nice to be have the code and be able to customize and generate versions of “PatchDefaultConfiguration.exe” and “OrthancService.exe” though, it would be nice if you could get in touch when you eventually upload the code for those!

Thanks again!

By the way, if you produce a derived work of Orthanc that is shipped to clients (which is the case if you build your own installer), I remember that the GPL/AGPL licensing model of Orthanc requires you to publicly share your code using the same license:
https://www.gnu.org/licenses/gpl-faq.en.html

Please make sure that your work complies with these requirements.

To be honest we didn’t do much, in summary we just removed the modules that we’re not using, set up different default folders and updated the .json with the default configuration that we’ll be using, do you really think that that warrants a share?
Ill check on the gpl-faq nonetheless!