VS2010 Professional SP1 reports correct _MSC_FULL_VER for 32-bit compiler but non-SP1 _MSC_FULL_VER for 64-bit compiler - 64-bit

When building a 32-bit application, _MSC_FULL_VER correctly equals 160040219, but when building x64, _MSC_FULL_VER is set to 160030319. The order I had installed stuff, due to needs over the years, is:
installed VS2010 but without the 64-bit compiler/tools
installed SP1
also installed various hotfixes/etc.
(some years later) installed the 64-bit compiler/tools
saw that the 64-bit compilation of an application was reporting the incorrect (i.e. non-SP1) _MSC_FULL_VER
re-ran the SP1 install to re-apply SP1
SP1 re-apply successfully completes
despite that, _MSC_FULL_VER is still incorrect for 64-bit compilation as if SP1 wasn't applied at all
I was going to remove SP1 to re-install, but the remove warns that the post-remove state could be such that it's not possible to re-install SP1.
What do I need to do to fix this problem so that 64-bit building is in a proper SP1 state (and _MSC_FULL_VER is reporting the correct value)?

Related

Trouble installing Visual C++ Redistributable 2008 in Windows 11 - Error 1935

So I recently installed MSI Afterburner on my Windows 11 Machine, but after installing it won't open up. The probable issue was that I didn't have Visual C++ 2008 Redistributable installed. I have all other versions from 2010-2022.
But while installing the 2008 and 2005 redistributables I end up getting a 1935 error and the installer just rolls back.
Error 1935 dialog box
I searched it up and tried everything like running an sfc scan, disabling and enabling the .NET frameworks. I also checked my Registry Editor and it was all correct.
I checked the event logs and found this :
Activation context generation failed for "D:\MSI Afterburner\MSIAfterburner.exe". Dependent Assembly Microsoft.VC90.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.
Then I figured out maybe there was problem with the WinSXS folder's permissions.
Turns out only the TrustedInsaller had full access to the folder and the subfolders.
So, I also tried changing the WinSXS folder's permissions manually, but in vain.
How do I fix this error? How do I change the WinSXS folder's permissions successfully?
Or is there any other fix to get MSI Afterburner up and running? Please help.
This is rather peculiar. I know our systems can differ.
I have installed VS 2022 on a pristine Windows 11 system without MSI Afterburner.
Installed VS 2008 redistributable, no problem.
Again: pristine Windows with MSI Afterburner installed.
Installed VS 2008 redistributable, no errors.
Windows 11 Enterprise, Build 22000.co_release.210604-1628
Redistributable 9.0.21022.8 (2016)
MSI Afterburner 4.6.4 Beta, Riva Server 7.3.2 Beta.
After that installed redistributable 2005, no problem.
Did it happen while installing 2005 redistributable? Did you install any other software? It must be something specific to your system.

When does Visual C++ 2015-2019 Redistributable lead to PC reboot

In some machines installing Visual C++ 2015-2019 Redistributable requires PC reboot. However, if we
1)Install Redistributable
2)Reboot
3) Remove Redistributable
4) Try to install it again
It doesn't require a reboot on the second attempt of installation. In addition, in some cases it doesn't require reboot even on the first attempt to install it. It looks that it depends not on Redistributable itself but on some KB update or something like that.
It's pretty important for me to reproduce the "reboot required" environment for Installer debugging purposes. Maybe someone knows how it works and how I can reproduce "reboot required" situations.

while installing vc_redist.x64.exe, getting error "Failed to configure per-machine MSU package."

While I am trying to install vc_redist.x64.exe on Windows 8.1
getting following error:
Failed to configure per-machine MSU package.
Posting answer to my own question as I found it here and was hidden in bottom somewhere -
https://social.msdn.microsoft.com/Forums/vstudio/en-US/64baed8c-b00c-40d5-b19a-99b26a11516e/visual-c-redistributable-for-visual-studio-2015-rc-fails-on-windows-server-2012?forum=vssetup
This is because the OS failed to install the required update Windows8.1-KB2999226-x64.msu.
However, you can install it by extracting that update to a folder (e.g. XXXX), and execute following cmdlet. You can find the Windows8.1-KB2999226-x64.msu at below.
C:\ProgramData\Package Cache\469A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu
copy this file to a folder you like, and
Create a folder XXXX in that and execute following commands from Admin command propmt
wusa.exe Windows8.1-KB2999226-x64.msu /extract:XXXX
DISM.exe /Online /Add-Package /PackagePath:XXXX\Windows8.1-KB2999226-x64.cab
vc_redist.x64.exe /repair
(last command need not be run. Just execute vc_redist.x64.exe once again)
this worked for me.
I would like to give you a background on Universal CRT this would help you in understanding as to why the system should be updated before installing vc_redist.x64.exe.
A large portion of the C-runtime moved into the OS in Windows 10 (ucrtbase.dll) and is serviced just like any other OS DLL (e.g. kernel32.dll). It is no longer serviced by Visual Studio directly. MSU packages are the file type for Windows Updates.
In order to get the Windows 10 Universal CRT to earlier OSes, Windows Update packages were created to bring this OS component downlevel. KB2999226 brings the Windows 10 RTM Universal CRT to downlevel platforms (Windows Vista through Windows 8.1). KB3118401 brings Windows 10 November Update to the Universal CRT to downlevel platforms.
Windows XP (latest SP) is an exception here. Windows Servicing does not provide downlevel packages for that OS, so Visual Studio (Visual C++) provides a mechanism to install the UCRT into System32 via the VCRedist and MSMs.
The Windows Universal Runtime is included in the VC Redist exe package as it has dependency on the Windows Universal Runtime (KB2999226).
Windows 10 is the only OS that ships the UCRT in-box. All prior OSes obtain the UCRT via Windows Update only. This applies to all Vista->8.1 and associated Server SKUs.
For Windows 7, 8, and 8.1 the Windows Universal Runtime must be installed via KB2999226. However it has a prerequisite update KB2919355 which contains updates that facilitate installing the KB2999226 package.
Why does KB2999226 not always install when the runtime is installed from the redistributable? What could prevent KB2999226 from installing as part of the runtime?
The UCRT MSU included in the VCRedist is installed by making a call into the Windows Update service and the KB can fail to install based upon Windows Update service activity/state:
If the machine has not updated to the required servicing baseline, the UCRT MSU will be viewed as being “Not Applicable”.
Ensure KB2919355 is installed. Also, there were known issues with KB2919355 so before this the following hotfix should be installed.
KB2939087
KB2975061
If the Windows Update service is installing other updates when the VCRedist installs, you can either see long delays or errors indicating the machine is busy.
This one can be resolved by waiting and trying again later (which may be why installing via Windows Update UI at a later time succeeds).
If the Windows Update service is in a non-ready state, you can see errors reflecting that.
We recently investigated a failure with an error code indicating the WUSA service was shutting down.
To identify if the prerequisite KB2919355 is installed there are 2 options:
Registry key:
64bit hive
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14
CurrentState = 112
32bit hive
HKLM\SOFTWARE\[WOW6432Node\]Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14
CurrentState = 112
Or check the file version of:
C:\Windows\SysWOW64\wuaueng.dll
C:\Windows\System32\wuaueng.dll
is 7.9.9600.17031 or later
I faced a similar problem but in my case I was trying to install Visual C++ Redistributable for Visual Studio 2015 Update 1 on Windows Server 2012 R2. However the root cause should be the same.
In short, you need to install the prerequisites of KB2999226.
In more details, the installation log I got stated that the installation for Windows Update KB2999226 failed. According to the Microsoft website here:
Prerequisites To install this update, you must have April 2014 update
rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
(2919355) installed in Windows 8.1 or Windows Server 2012 R2. Or,
install Service Pack 1 for Windows 7 or Windows Server 2008 R2.
Or, install Service Pack 2 for Windows Vista and for Windows Server
2008.
After I have installed April 2014 on my Windows Server 2012 R2, I am able to install the Visual C++ Redistributable correctly.
The OS failed to install the required update Windows8.1-KB2999226-x64.msu.
However I tried to find the particular update from -
C:\ProgramData\Package Cache\469A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu.
I couldn't find it there so I installed the kb2999226 update from here (Windows 10 Universal C runtime)
Then I installed the update according to my OS and after that It was working fine.
In my case and while installing VS 2015 on Windows7 64x SP1, I experienced the same so tried to cancel and download/install the KBKB2999226 separately and for some reason the standalone update installer also get stuck searching for updates.
Here what I did:
When the VS installer stuck at the KB2999226 update I clicked cancel.
Installer took me back to confirm cancellation, waited for a while then opened the windows task manager and ended the process of wuse.exe (windows standalone update installer)
On the VS installer clicked "No" to return to installation process. The process was completed without errors.
I also got that error when trying to install the Visual C++ 2015 Redistributable on my Windows 7 SP1 machine.
I solved my problem by installing the Visual C++ 2015-2019 Redistributable from here https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0

InstallShield LE doesn't install MS Visual C++ 2010 Redistributable Package (x86)

I'm using InstallShield Limited Edition to create installer (setup.exe) for my project. My project requires Microsoft Visual C++ 2010 Redistributable Package (x86), and I want include this redist into my setup.exe. I do it in Redistributables view in my InstallShield project - just selecting Microsoft Visual C++ 2010 Redistributable Package (x86) as InstallShield Prerequisite component and setting 'Extract From Setup.exe' property for it.
I decided to test my setup.exe on XP box and Win7 box. For this purpose I deleted Microsoft Visual C++ 2010 Redistributable from these boxes (via Control Panel->Uninstall program) and tried to install my app. My expected result is - c++ redist will be installed before my project installation.
But I have different results: I have no problem when installing it on XP box: it installed c++ redist first and my app then. Works as it should be!
But when I launched setup.exe on Win7 box it didn't install c++ redist - it only installed my app. Can anyone explain this?
Btw, Microsoft Visual C++ 2010 Redistributable Package (x86) had size ~11 mb and version 10.0.40219 on my Win7 box before I uninstalled it. Now I downloaded it from here http://www.microsoft.com/en-us/download/details.aspx?id=5555, installed manually and... I see that now it has version 10.0.30319 and size only ~918 kb. So, I wonder again, what's going on?
This may be related to the operatingsystemconditions configuration in the Installshield pre-requisite file Microsoft Visual C++ 2010 Redistributable Package (x86).prq located in the Installshield SetupPrerequisites directory.
The operatingsystemconditions section specifies which versions of Windows, including service packs, 32/64 bits, the redistributable file should be installed on.
See http://daniellang.net/installshield-and-microsoft-visual-c-2010-redistributables/ for some more details.
You've installed the SP1 redist, but there is an updated version with a MFC security update.
http://support.microsoft.com/kb/2565063

Where to find the VisualC++ x64 command-line compiler?

Where can I find the VisualC++ x64 compiler? It is not included in the SDK (not even x32 compiler is included). Please correct me if I'm wrong, but I could not find it in the SDK I just downloaded.
Note that I don't want to use the VisualC++ IDE (which includes the x32 compiler I'm currently using, but not the x64 compiler).
I'm wondering if I just missed something, because here, it seems like the SDK should include the x64 compiler (or at least any compiler).
If you have Visual Studio 2008 Installed: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64. It is likely that the x64 Compiler was not installed. In VS-2008 that's the default install configuration. You can go back to your installer and select - install "x64 Compilers and Tools". If you are using Visual-Studio 2008 see: http://www.viva64.com/en/k/0006/
I have downloaded the free Trial version of Visual C++ 2010 Pro which includes the 64Bit compiler. The Trial only applies for the IDE, not for the command-line compiler. Works fine!

Resources