-
-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Firebird 5.0.1 closes applications and requires reboot (MSVC installation problem) #8326
Comments
Can you describe what is a fresh Windows 10 machine? |
It's a Win10 machine with no other software installed. If you like I can install TeamViewer or similar on the VM and allow you doing tests there. |
If you have no problem with manual install of MSVC runtime - just install it and Firebird from zip package. |
I installed all available windows updates on the system. @aafemt : That would be a dirty workaround for a bug in the installer. I'd prefer a "clean" solution, we have a few thousand customers. |
IMHO, "a dirty workaround" is exactly what Firebird installer does instead of simple addition of the runtime into the list of system requirements. |
The reason I asked about which version of Windows 10 was because there have been 14 releases of W10, of which all but one are out of general support by MS. And one of the main differences between FB5 and FB4 is that the former is built with more or less the latest version of Visual Studio. FB4 is built with VS 2017 which appeared fairly early on in the release cycle of W10. So there is a small possibility that older versions of W10 that are not up-to-date might just fail to install firebird for some obscure reason. Anyway, now that we seem to have ruled out a problem with W10 updates we can look deeper into this problem. Have you tried running the installer with logging enabled? If so can you send me the log? Let me know if you need to send it privately. And theoretically at least the installation of the runtimes should also produce logs. Although I have never seen them. Their location will be indicated in the installer log. |
Also, what version of msiexec do you have? |
Here's the log file.... msiexec returns 5.0.19041.4651 |
That's just the regular innosetup log. It is of no use in this case.
to your install script. If you can then send me the log output of a failed runtime install I might be able to make some progress with this. You can download the special build from here: |
Ok, here are the logs. |
The problem appears to be in the x64 install:
Apart from that my log is functionally equivalent to yours. Can you identify which application is using the msvcp140.dll ? |
There is nothing strange that programs compiled with MSVC use MSVC Runtime Library. |
Hey Captain Obvious :) Yes, that's not strange. |
This is one advantage of side-by-side assemblies. In contrast to Firebird installer they preserve old versions of the library so applications using the old library can continue working. |
I've prepared a new build to test. There are three changes since the previous one.
This is just a cosmetic change so that the parameter is now self documenting. I would be interested to see the logs from this build produced by a failed install. I am wondering if there is a difference related to the changes in the VC runtimes used.
I'm not really sure how this will work in practice but in any case I don't see any harm in committing these two features upstream so that they appear in the upcoming v5.0.2. |
1.) The new build shows the same problems when started without parameters. |
The idea behind the /nomsvcrt switch is to give you a workaround. You need to either be sure that the runtimes have already been deployed or you must deploy the official vc runtimes as part of your installation. I do not think that you can rely on a PC to have the VS2022 runtimes installed. The probability is high but not 100%. W10 is almost 10 years old so theoretically there are many people running older versions that have not been kept up-to-date. The reason why we don't include the official vcredist binaries in the firebird installer is because they are actually larger than firebird itself. The kits would triple in size.
I'll create another special build tomorrow. This time with the debug switch enabled for msiexec. The logs might produce enough information to track down the origin. |
This build will now log msiexec with the verbose and debug switches enabled. Hopefully it will be enough to give us some more insight as to the cause of the problem. |
Here are the new logs... |
In our application we use Firebird as database.
A install-launcher program (a simple win32 program) performs a scripted installation of Firebird, then of the main application, by calling both installers one after the other with command line options.
This always worked with FB2.x - 4.0.5.
The new 5.0.1 installer suddenly misbehaves:
When running the Firebird5.0.1 64bit installer on a fresh Win10 machine, in the same moment when the installer states it's installing MSVC 32-bit runtime libraries, it closes the our install launcher that would install (as a next step) the main application.
It also requires a complete reboot after installation, what it never did before.
The Install launcher is also closed if the FB-installer is launched manually (without parameters) - but only if the install launcher is from a network share and the 32-app was also started from that network share.
The Message "To complete the installation of Firebird, Setup must restart your computer. Would you like to restart now?" shows up in either case.
I tried running the installer with "/NORESTART /Silent /NOGDS32" - then the reboot-question does not show, but the service is also not started. Als it can be started manually, so there seems to be no reason no to do that.
This breaks the automatic installation.
Is there a trick to get that working, or do I have to revert to an older version of Firebird to implement an application installation that runs through in one go?
After some more checking:
If I install the MSVC installer from https://learn.microsoft.com/de-de/cpp/windows/latest-supported-vc-redist?view=msvc-170
Both MS installers don't require a system reboot.
Could it be, that the MSVC installation is not done properly by the FB installer?
The text was updated successfully, but these errors were encountered: