I am trying to run PartCover to test the coverage of some tests with Gallio on windows x64. However trying to run it gives the following error.
Retrieving the COM class factory for component with CLSID
{FB20430E-CDC9-45D7-8453-272268002E08} failed due to the following error: 80040153.
Edit: I am using PartCover 2.2.0
The problem is caused by PartCover trying to load a 32 bit dll when it is running under the 64-bit .NET VM.
The trick is to force PartCover to run in the 32 bit VM. In order to do this you have to use a tool called CorFlags.exe to modify the exe and flag it as 32 bit. This is equivalent to it having been built with x86 as its target.
CorFlags (on my machine) is in Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\
To set the 32-bit flag run:
CorFlags.exe PartCover.exe /32BIT+ /Force
I also found that I had to do the same for the program being run (in my case the Gallio test runner)
Related
msvcrt.lib(chkstk.obj) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
I found the problem. trying to run rust from developer powershell was causing the problem. In regular Windows PowerShell without path tweaks for Visual Studio, link.exe is not found in the command path, so cargo appears to magically discover the absolute path name in the x64 tools directory, which is the correct one. The host architecture of the shell does not affect this behavior.
Unfortunately, the launchers named Developer PowerShell and Developer Command Prompt for VS 2019 set up the command path for x86 tools. Perhaps it would be better for cargo to ignore the PATH-located executable on Windows if the registry-resolved tools directory appropriate for the target platform contains the executable file.
I want to create a 32bit executable app from my script to run on Windows 10 with X86 or X64 architectures. I've generated the X64 version of my script and it worked fine. My host machine is X64 but I installed Python X86 version to generate X86 app. Then I generated the executable with Pyinstaller but when I run the executable it throws the following error:
C:\Users\Name\Appdata\local\Temp_MEI51162\VCRUNTIME140.dll is
either not designed to run on Windows or it contains an error...
and in the console I see this error:
Error loading Python DLL
'C:\Users\Name\AppData\Local\Temp_MEI51162\python36.dll'.
LoadLibrary:
I've checked the _MEI51162, both VCRUNTIME140.dll and python36.dll is there but the python36.dll has a size of about 1 MB instead of 3 MB. It doesn't matter if I generate the app as a standalone executable or not and still give me the same error.
It seems that the problem happens when you install both 32bit and 64bit of PyInstaller. And PyInstaller would fail on selecting which version of dependencies are required for the current build. The problem in my situation was VCRUNTIME140.dll. I couldn't find a way to replace the vcruntime140.dll, but I found a workaround by adding the correct file manually to C:\Users\<User>\AppData\Roaming\pyinstaller directory and rebuild with Pyinstaller then It will be replaced with the new one just copied. This will fix the issue temporary and the directory should not be deleted.
I'm using Windows 10 (64-bit), I have downloaded GNAT GPL 2017, ARM ELF format (hosted on Windows) from http://libre.adacore.com/download/configurations#.
I have created a sample code:
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line("Hello from GPS!");
end Hello;
When I build my file everything is fine and it succeed. The problem is, that when I run my program, then get an error:
Error while trying to execute C:\Users\sigger\Desktop\ada\hello: not an executable
When I change property of my project:
Project -> Properties -> Sources -> Main -> Executable names
on hello.exe, then I get an error, that my program can't run on Windows 64-bit.
How can I create an exe file from my ada code on Windows 10?
"ARM ELF" is your problem. If you're trying to run an ARM executable on a Windows x86-64 bit platform, you will not succeed. You need a Windows x86-64 (or Windows x86-32) compiler.
What you downloaded was a "cross-compiler" - runs on one platform (Windows 64), but builds binaries for a different platform (ARM).
On the site you went to, try the "x86 Windows (32-bit)" compiler.
when we build a COM + application in windows7 64 bit with "AnyCPU" or "X64" bit configuration we are not able register that dll by using below options
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe" "...\ABC.dll"
The following installation error occurred:
1: Failed to load assembly 'ABC.dll'.
2: Could not load file or assembly 'file:///ABC.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Note:: i have checked properly all its dependency are built properly in 64 bit with 64 bit configuration.
Note:: i am using "VS2012 x64 Cross Tools Command Prompt" in Adminstrator mode to register
This work fine if we build in windows 7 32bit.
any suggestions?
Have you tried using this:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regsvcs.exe" "...\ABC.dll"
instead of this:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe" "...\ABC.dll"
The difference is in the framework folder inside C:\Windows\Microsoft.NET\, Framework64 instead of Framework.
I recently began learning wxWidgets. As all learners do, I first wrote and tested the Minimal App (on my Ubuntu 12.04 LTS). It worked like a charm.
I then decided to test the application on my Windows 7 PC. I built wxWidgets (Debug and Release builds) using Visual C++ 2008 Express following instructions from here. I also built the Minimal App (Build and Release configurations) following the same instructions. The application worked perfectly on my computer. To check whether there were any problems, I sent the executable to a friend of mine. He tested it on his XP PC and it gave him the following error:
The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more details.
I have checked that I am using the Multithreaded setting in the build options for both the Debug and Release versions of my application. However, neither of the generated executables works on my friend's machine.
What am I missing out here?
You are missing the C/C++ runtime libraries.
The simplest solution is to build both the wxwidgets libraries and the application with the /MT switch rather than the /MD switch in Project | Properties | C++ | Code generation | runtime libraries