Open nealmcloughlin opened 2 years ago
@RobBryce is this something you are already aware of???
The text says "Missing vcredist for Java". It is as it's stated: VCredist 2010 is a prerequisite for Java. The Java installer doesn't check for this during its install and we introduced this to the installer some time ago to deal with failed Java installs in the past. We have linked the current/latest version of this that we are aware of (Service Pack 1, with the update). We could change the text to that for VC 14.x (last on the list) and not indicate why we need the VCredist 2010. But we need to check for this because we need Java and the Java installer doesn't check for it.
The other (Intel) issue is one which is a moving target, discussed with Brett recently:
Intel prerequisites are found in Redmine #1238. Neal closed #1238 now stating "Prerequisites now have an information button describing what is required.".
We want links in our installer to help the user. But we have no control over the lifetime or content of these external links. And we have no control over how future versions of our prerequisites may register with the system, so that we can recognize it. We had similar issues with Java, which is why we made that check optional so that the user can continue when they know the system is correctly set up.
We opted for links to assist the user instead of embedding prerequisite installers in our installer, even though we had full control over what was in our installer. If I recall correctly, we were concerned about licensing and distribution, and also the size of our installer.
Microsoft has been "kind" in not breaking links to prerequisites that we (and others) link to.
For reference, in REDMine, issues around the Java prerequisite checks are found in #965, #1131, #1156 (bypass option), #1207. A possible solution for Intel might be something similar to what we did for Java.
Out of curiosity. Are there things in the compiler that are no longer linked that we need to tie to a specific version? Is there a way we can attempt to call something and if it doesn't exist then suggest the compiler version is an issue?
While I agree with our pre-requisite checks I'm wondering at what point we've become hyper restrictive but the linkages aren't actually broken between versions?
Just wondering out loud here, I may be way off with what issues may arise from bad versioning.
Further, in my testing, I've now broken my ability to use Prometheus as 21.3 does not exist online anymore.
We link to specific DLL's in both Microsoft and Intel compilers so we are tied to those versions. There are typically breaking changes to the DLL API's with each major release of the Microsoft tool, but Intel seems to be a bit better lately.
Is there any potential for a self updating req sheet that the installer can grab from a common location? What I'm thinking is, you start the installer, it checks for a spec sheet update, if none, proceed, otherwise update. This would allow us to clear new compilers without making builds specific to a compiler version?
Great idea, a manifest in github repo, that is queried by teh program when it installs!!!!
Some good ideas to pursue in future tickets. For now I'm looking for fast, easy fixes that make things as explicitly clear as possible. Rob, I understand the challenges with the Intel website and versions. That said, we are in control of the installer dialog and can make software prerequisites more intuitive from a user experience perspective. I've been installing Prometheus for almost 20 years and I find this dialog frustrating. I can only imagine what our less technically savvy users experience. Let's not worry about justifying past decisions and focus our energy on making the user experience with this installation better. Here is an updated list of what I'm asking for. I know it's not a perfect fix. I also recognize it may go against past decisions. But it will make the user experience better.
If Prometheus 2021.12.03 can only be installed with version 21.3 of the Intel compiler we have another issue to deal with in a separate ticket, i.e.) Intel compiler version 21.3 is not on the website which means I cannot install Prometheus unless it is compatible with Intel compiler version 2022.0.2. I will test if Prometheus 2021.12.03 can be installed with Intel compiler version 2022.0.2. If so, I would support making this check optional (like we did for Java) so that the user can continue when they know the system is correctly set up. But let's direct that to a separate ticket if/when required.
Let proceed with this, but lets make the links in the installer interface a One-Click solution to a know good location (for now on my spyd.com server - Like we do with Download Intel C++ runtime 2021.3.0.3372 on the fgm.ca website.
OK, I believe the work here is defined, based on Neal's lasts posts, but instead of pointing to prerequisite sites, we'll put copies along side the C++ runtime installer, so we have control over what versions and where they are (and that they aren't going to disappear on us). Estimate is based on this.
@nealmcloughlin will need to test this when the build is complete.
Contact Details
neal.mcloughlin@gov.bc.ca
What happened?
The Prometheus 2021.12.03 installer is vague as to what to install for prerequisites. I had the correct pre-requisites installed for Prometheus 6.2.4. I have attached a screenshot of what I see on the installer when I try to install Prometheus 2021.12.03.
For the missing vcredist 2010 for Java, the hyperlink takes me here: https://www.microsoft.com/en-ca/download/details.aspx?id=26999
There is only one option on the hyperlinked Microsoft website. However, it is called "Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update". There is no reference to Java which makes me wonder if I'm downloading and installing the right software. When I hover over the info button it indicates that Java 1.8 or higher is required. WTF? I have Java 8 Update 321 installed on my computer.
Incorrect Intel Redist Version does not tell me what I need to install. The hyperlink takes me here: https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#inpage-nav-3-1
I have a lot of options on the hyperlinked Intel website. There is nothing on this website called "Intel Redist". My best guess is that I need Intel® oneAPI DPC++/C++ Compiler Runtime for Windows version 2022.0.2. When I however over the info button it indicates I need Intel® oneAPI DPC++/C++ Compiler Runtime for Windows version 21.3. I can't find anything on the Intel website with this version number. Which option do I need to install?
Here is what I want changed in the Prometheus installer - we need to get this right for Prometheus EOL:
Version
(Dev) 2021.12.03
What version of Windows are you seeing the problem on?
Windows 10 64-bit
Relevant log output
No response
Code of Conduct