FLHDE / freelancer-hd-edition-installer

Installer for Freelancer: HD Edition.
https://github.com/BC46/freelancer-hd-edition
10 stars 4 forks source link

Do something about the MSVC++ Redistributable dependency #110

Closed BC46 closed 5 months ago

BC46 commented 1 year ago

It turns out that some features from both HDE and the installer require the MSVC++ Redistributable package to be installed on the user's system, more specifically from VS 2015 (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist). Unfortunately not all users seem to have this installed on their systems by default, which could cause compatibility issues.

A possible solution is to bundle one of those packages in the installer itself and make it automatically install if the user doesn't have it already. However, this may cause copyright issues. Therefore, the problem may have to be tackled in a different way (e.g. telling the user they have to install it from the MSDN website if they don't have it already).

NOTE: It's important that the MSVC++ package gets installed before any of the installer options are applied, because the HexToBinary library that we use requires it.

Some useful links: Inno Setup Dependency Installer: https://www.codeproject.com/Articles/20868/Inno-Setup-Dependency-Installer. IsMsiProductInstalled: https://jrsoftware.org/ishelp/index.php?topic=isxfunc_ismsiproductinstalled.

https://stackoverflow.com/a/51614652

https://learn.microsoft.com/en-us/cpp/windows/deploying-visual-cpp-application-by-using-the-vcpp-redistributable-package?view=msvc-170 https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

https://stackoverflow.com/questions/11137424/how-to-make-vcredist-x86-reinstall-only-if-not-yet-installed https://stackoverflow.com/questions/24574035/how-to-install-microsoft-vc-redistributables-silently-in-inno-setup https://stackoverflow.com/questions/42836022/how-to-create-checkboxes-at-inno-setup-finished-page