We are trying to install the Intel Fortran compiler silently, on Linux, MacOS and Windows. So far, the Linux silent install works fine, and we can install into an arbitrary directory.
However, we're so far unable to install on MacOS or Windows completely silently (without elevation prompt, etc.). Is this possible? The installation guide implies that this should be possible -- using the offline installer -- but yet can't get it to work.
For example, on Windows, using the following command line, the first thing it does is to pop up the UAC prompt. This won't do, obvs, on a build machine.
w_fortran-compiler_p_2022.0.0.77_offline -a -s --eula accept --install-dir c:\intel-fortran -p=NEED_VS2019_INTEGRATION=0
We have a similar need on MacOS.
Try researching Windows documentation on how to bypass Windows UAC prompt which is set by Windows for security- I would think this is not something Intel has control over.
A simple command like this one will trigger UAC prompt as well due to security settings on Windows.
w_[Toolkit Name]Kit_[version]_offline.exe -s -a --list-products
The credential prompt
The credential prompt is presented when a standard user attempts to perform a task that requires a user's administrative access token. Administrators can also be required to provide their credentials by setting the User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode policy setting value to Prompt for credentials.
This is common on work computers where IT want to control all programs placed on the computer. IT wants all the computers to be the same.
Thanks for the replies.
Yes, I'm aware of what UAC is, and on my own machine I can just say OK, and all is fine. But the point of the question is that we are trying to automate the builds, including the download/install of the compiler, and we don't have an opportunity on these build machines -- running headless in the Cloud -- to acknowledge a UAC prompt. We're also not able to disable UAC.
I was expecting -- as is the case with the Linux offline installer -- that I could specify a local directory (non-system), which wouldn't require elevated access, and avoid the UAC prompt entirely.
Is this really not possible for Mac & Windows?
The Fortran install with VS integration is a complicated beast. We see endless posts on this forum where is has gone wrong in siome way and then needs repair/uninstall etc. To have non standard install directories outside UAC would seem a recipe for disaster. You would also need VS to be similarly installed as ifort puts stuff in the VS folder trees. If indeed that was all possible you would be in effect introducing a whole load of additional potential vulnerabilities anyway. To my mind you either disable UAC (a bad idea which you say can't do anyway) or live with the fact that a fully automated install is not possible. As a matter of interest can you launch the installers via a process that is already elevated?
Thank you. We can, and are, using that for Linux, but can't really use containers for Windows or MacOS. We can pre-install the compiler onto EC2 images to run our builds, but would prefer to be able to grab, and work with, the correct version at build time.
In addition, please see package managers for Windows - https://www.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-windows/top/installation/install-using-package-managers.html
So far I'm having no luck at all with silent installation. I'm trying to use some of the commands in the installer, e.g. "--list-components", and it runs, pops up a separate console window, shows something, and then disappears. Why wouldn't it show its output in the same console window it was launched from?
Also, I've been unsuccessful trying to install into an "install-dir". This command line results in a failed install, and the log file complains about removing files in temp, which I don't know what that has to do with anything.
./w_fortran-compiler_p_2022.0.0.77_offline.exe -a -s --eula accept --action install --install-dir c:\intel-fortran -p=NEED_VS2019_INTEGRATION=0
Also, I want to do this on MacOS, too, but can't figure out how to even get to the point where I could launch the offline installer, as it's tucked away in a .dmg archive.
You have run into a classic logic problem.
As am administrator you want to stop anyone who is not approved from adding programs to the computer, on the not unreasonable basis that it is your computer and the person works for you.
If the computer is not in admin mode you cannot install the program easily.
Welcome to the world of the academic researcher who needs to use lots of programs and the IT people even lock the bios update, so even the bios cannot be updated. Every change requires about 3 days of work.
Your problem is now that you machines are now always way behind.
Solution, buy a supercomputer and make the users use a single computer. We did that in the 60's, how much money do we waste with IT looking after many computers.
Then you only have one IFX install and everyone has access.
One always has to question a unit of the organization that does not add to the bottom line, ie accounting HR, IT and management.
The way larger businesses handle this is to use a product (BigFix is one I have encountered) that handles silent installation on the supported platforms. If it were possible for a product installer to bypass UAC prompts, that would make UAC rather worthless.
I don't think you're following the workflow here. This is not an attended machine -- it's a build machine.
We need to get the compiler available to be run on the build machine. I'm happy to have to first install the compiler files on a user's machine, as long as they can be, then, copied into a build machine to run the builds.
Assuming you are referring to my last post. A build machine is designed to solve the so called language problem, ie Fred speaks German, Alice speaks French, but Alan speaks English French and German, so Alan communicates in English with outside world.
So yes I understand your basic problem, the real problem is the great variety of machines that are bought by a single company in even one year. So I feel for your pain, but your problem is somewhat unique, there are some really good people on this forum, excluding myself, who because I get bored coding and spending days alone, I tend to offer insight where it is not needed. But if the real experts here do not answer in about 30 minutes, your problem is likely not solvable by them. I assure you if they can solve the problem the solution is up in a few minutes, usually.
Of course they are very selective chaps using the nongender specific version as is now common in Australia, so no reply means they cannot solve it for you.
As one who has to maintain programs on a few computers, I hope you find a solution.
I just stumbled upon the same issue on Windows 10 but was able to resolve it.
Here is my silent installation script if anyone else needs it:
w_ifort_runtime_p_2021.4.0.3556.exe --f C:\WINDOWS\temp --s --a /q
I believe it's the /q that is missing from all the documentation. Probably works for your case too.