VcRedist | Lifecycle management for the Microsoft Visual C | Azure library
kandi X-RAY | VcRedist Summary
kandi X-RAY | VcRedist Summary
VcRedist is a PowerShell module for lifecycle management of the Microsoft Visual C++ Redistributables. VcRedist downloads the supported (and unsupported) Redistributables, for local install, gold image deployment or importing as applications into the Microsoft Deployment Toolkit, Microsoft Endpoint Configuration Manager or Microsoft Intune. Supports passive and silent installs and uninstalls of the Visual C++ Redistributables.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of VcRedist
VcRedist Key Features
VcRedist Examples and Code Snippets
Community Discussions
Trending Discussions on VcRedist
QUESTION
Is there a way to deploy a Qt desktop application that is compiled using MSVC in such a way that it will be "portable" (just run exe from a folder, not install anything, not even install VC_redist)?
Of course, it is possible to use it if Microsoft Visual C++ Redistributable is installed on target computer, but is it possible to make it run without installing it (eg. by putting some dll from vcredist to application's folder)?
...ANSWER
Answered 2021-May-12 at 09:17If you build/link your application statically, you will only have 1 .exe without DLL. The second way is to build your app with shared libraries and at runtime your app will search those DLL in PATH and in the current directory so you just need to put all your needed DLL in this folder. How do you manage your Qt library ?
QUESTION
In my C#
WPF
application I want to install an other program. The other program consists of a setup.exe, multiple msi files and a vcredist.exe. I need to start the setup.exe because it hands over some parameters and information to the msi files and uses an update functionality for the existing version of the program. So I can't start the msi files directly.
ANSWER
Answered 2021-Jan-25 at 09:59This code will directly launch setup.exe.
Properties -> right click Open to Resources.resx -> Top Left Add Existing File -> select the file.
QUESTION
I am trying to install VC_redist.x64_v14.27.29016.0.exe using NSIS installer in silent mode with no interaction. This is the code:
...ANSWER
Answered 2020-Sep-20 at 20:21Yes, the nsExec plug-in will wait for the child process. It will however not wait for grandchildren that outlives its parent process.
nsExec is designed for console applications, you should probably just use ExecWait
.
QUESTION
I have a Windows x86 32 bit desktop application built using Visual Studio 2015 written in C and C++ using the MFC framework for the User Interface. For the installer I am using NSIS compiler with an NSIS script to generate the installation .exe used to install the application which is composed of some 10 different components, .exes and .dlls that are created by the build.
My desktop application is a point of sale application that runs under 32 bit or 64 bit versions of POSReady 7 (Windows 7) as well as Windows 10 and Windows 10 IoT Enterprise (not Windows IoT Core) on Intel x86/x64 compatible CPUs.
When I changed from Visual Studio 2005 to Visual Studio 2015, I was struck by the larger size of the installation executable, from a size of roughly 8 MB to a size of 16 MB. The size difference seems to be due to the Visual Studio 2015 C++ Redistributable that I am including in the desktop application installer.
The NSIS script has the following lines:
...ANSWER
Answered 2020-Jul-20 at 19:35If I remember correctly, you may provide the required DLLs with your application rather than the installer. Another option is to go for static linking.
These approaches will result in a much smaller overall size, but the dependencies will never be updated for fixes unless you do so. This may be a deal breaker or not depending on the situation.
QUESTION
I am having issues trying to install numpy for pypy3 on my Windows 10 machine.
As I am unable to tell if this problem stems from my pypy3 installation or from something else I am describing here all the steps that I have followed so far:
As indicated on the official download page I have:
- downloaded and installed the "Visual C++ Redistributable Package"
vcredist.x86.exe
- downloaded and installed the Pypy3 "Windows binary (32 bits)" file
pypy3.6-v7.3.1-win32.zip
Then after having manually added pypy3 to the PATH
of my machine, I have:
- installed the
pip
package from the shell with the commandpypy3 -m ensurepip
The problem arises when trying to install numpy. The official documentation says that one can install it by doing pypy -m pip install numpy
(pypy3
in my case) but doing so throws the following error:
ANSWER
Answered 2020-May-16 at 23:05Seems to be ppy3 is not properly installed. Try installing through wget.
QUESTION
With this code: Install DirectX & VCRedist in freearc default script when progress bar is full & paused after main file extraction I can install DirectX and VCRedist with Inno Setup. But, is it possible to force the installation window of these programs to a certain place on the screen? For example:
...ANSWER
Answered 2020-Mar-31 at 07:33It's hardly possible to make an application to start at desired position, unless the application explicitly supports it.
So in general, what you can do is to watch for a certain window to appear and move it afterwards. You can identify the window by its caption (FindWindowByWindowName
) or class (FindWindowByClassName
). Drawback is that the window will briefly appear on its default position.
QUESTION
I'm trying to run a certain program (PCXS2), but after looking at the .exe with Dependency Walker, i figured out i needed 2 certain .dll files (ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll, and api-ms-win-core-shutdown-l1-1-1.dll), but the program only takes x86 dll files and the only available versions are x64 files. How can I convert the dll files to x86?
I'm on a 64 bit computer running Windows 8.1, and have most of the vcredist patches for my OS. I have tried putting the files in System32 and running the dll register code in cmd, but to no avail.
The text I get when running Dependency Walker:
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
(For context the CPU value is highlighted red.)
...ANSWER
Answered 2019-Jul-16 at 02:54You can't convert a DLL from 64 to 32 bit or vice versa. You'll have to find the proper versions of those DLLs and copy them to your system. Perhaps you can find them on a system running a 32-bit version of the program you're using.
QUESTION
TL;DR - The MS docs state that binary compatibility between VS2015 and VS2017 libs is one-way, while I'd assumed it is necessarily two-way. Where's the catch?
First, for background:
- Any MSVC++ built libraries are officially binary compatible between VS2015 and VS2017.
- Specifically, you can use your VS2015 C++ app with the MSVCRT140 version from 2017. (VCRedist backwards compat)
- The official documentation site states a confusing restriction.
Background / related Questions:
- Is Visual-C++-2017 binary compatible with VC++-2015?
- Questions about "Binary Compatibility between Visual Studio 2015 and Visual Studio 2017"
- Binary compatibility between VS2017 and VS2015
The confusing restriction I find is:
There are two exceptions to this rule. Binary compatibility is not guaranteed in these cases:
...
When consuming libraries built with a toolset whose version is greater than the toolset used to compile and link the application. For example, a program that is compiled and linked with compiler version 19.12 can consume libraries that are compiled with 19.0 up through 19.12.
This caveat is, IMHO, both technically sloppy and confusing. What would the technical reason be for that?
I say it's sloppy because it is incomplete, because the interface between an executable and a DLL is pretty syymetric, but this bullet only covers "the application".
Specifially, and assuming all modules are built against the dynamic CRT version and this dynamic CRT version is the newest version available, I see the following combinations where binary compat is an issue:
my_2017.exe <-> my_2015.dll
-- seemingly supportedmy_2015.exe <-> my_2017.dll
-- seemingly unsupportedmy_2017.exe <-> my_2015.dll <-> my_2017_x.dll
-- what now, in which "direction" is this supported btw DLLs?
Since binary compat - purely from the binary/interface perspective - must run both ways, I don't quite see where we suddenly could get an incompatibility here: API calls can go both ways (callbacks etc.), objects "move" both ways, even the order of DLL loading can be mixed.
This is an important point IMHO, as it means the binary compatibility as stated is severly limited:
- If my application want's to consume any
VC14*
compiled library, I "officially" still must make sure that my application is built with the "newest version". - On the other hand, if don't build an "application", but have a DLL, I can seemingly consume any other
VC14*
DLL and be compatible? - With the VCRedist, we have exactly the case that is seemingly unsupported, namely we are allowed to consume a VC2017 library (CRT in this case) from a 2015 app!
So, why(!) is this limited in the way it is, and how does it relate to inter-dll dependencies and also the inverted(!) CRT-dll version requirement.
...ANSWER
Answered 2019-Jun-21 at 13:14Microsoft has since updated their docs, the relevant section of the current version of https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017 reads:
C++ Binary Compatibility between Visual Studio 2015 and Visual Studio 2019...
When you mix binaries built with different supported versions of the MSVC toolset, the Visual C++ redistributable that your application runs on cannot be older than any of the toolset versions used to build your app or any libraries it consumes.
The diff is at https://github.com/MicrosoftDocs/cpp-docs/commit/a505dccfb31eb49c2ffece4dabd24a0a61b1fcb3#diff-d488b4c71be450b2a39cdce495c229bf
There is no direct GitHub/MS-Docs issue for this, but this limitation makes a lot more sense: It just talks about the compatibility requirements of the redistributable, and requiring a VC runtime version that is at least as current as the newest module in use.
This, of course, can make sense, as this is not only pure binary compatibility.
Of course, what I said in the question still is valid: Any (old) VS2015 application must be compatible with the (new) VS2019 redistributable, so I guess all the interface surface that VCRedist-VC14.0 ever exposed should be binary compatible.
QUESTION
Good day! I use Wix v3.11 to create MSI, and my project uses merge module for VCRedist. After getting the warning that I should "set the Package/@InstallerVersion attribute to 301 or greater to merge this merge module" I noticed that by default WiX sets Package/@InstallerVersion to 200. Why? Modern versions of Windows come with Windows Installer 4.5 and greater (here is the table from MS).
...ANSWER
Answered 2019-Jun-10 at 15:55The default is 200
because WiX v3.x still views Windows XP as a viable target operating system. Now, I know Windows XP is a menace to the internet and it is easy to argue that support for Windows XP should be dropped. However, the WiX Toolset doesn't drop platforms easily so 200
remains the baseline for WiX v3.x.
In WiX v4.0 the open question whether the minimum should move to 500
, as Windows 7 is the minimum (barely) supported Windows.
QUESTION
I have a ASP.NET 3.5 application that includes a 32-bit DLL. It works fine (and has for years) on Windows XP, 7 and 10. I am adding support for Windows 2012, 2012 R2 and 2016. It works on 2016, but does not work on 2012 R2.
At the first call to the DLL, the following error occurs:
BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
The same build and install script is used for all OS's tested. Each OS is on a VM on the same machine, so the hardware for all OS's is identical. For each OS:
- OS is fully updated.
- vcredist 9.0 (x86) is installed as part of the installation.
- IIS DefaulatAppPool has 32-bit applications enabled.
I've tried all the suggestions in the posts I've found on this problem, but nothing works. Any ideas?
...ANSWER
Answered 2019-Apr-16 at 21:46Double check in Task Manager that your W3WP.exe process for the application is running 32-bit and that it is in fact Default App Pool that is trying to load the DLL. This error message almost certainly means 64-bit process trying to load 32-bit DLL.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install VcRedist
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page