py2exe not a valid win32 application - pyside

I know this topic has been discussed before but it looks like none of the solutions work for me.
I have created a python application using PySide and a few other modules.
When I compile the app, I don't see any error and it runs without issue on any 64 bit machine.
However, when I try to launch it from a 32 bit XP machine I get
py2exe not a valid win32 application
I am aware that the DLL's have to be included (which I did saved in the dist folder with Microsoft sub-folder) but I am still seeing a message in the CMD window that certain DLL's are not included.
Is this a standard message? A sort of reminder or would this message disappear if all dll's are included? I do not get any errors.
So thats where my confusion is coming from.
I also did a few Google searches regarding other compilers and came across PyInstaller which apparently does not work with Qt.
py2exe log:
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.
OLEAUT32.dll - C:\Windows\system32\OLEAUT32.dll
USER32.dll - C:\Windows\system32\USER32.dll
IMM32.dll - C:\Windows\system32\IMM32.dll
SHELL32.dll - C:\Windows\system32\SHELL32.dll
ole32.dll - C:\Windows\system32\ole32.dll
WINMM.dll - C:\Windows\system32\WINMM.dll
MSVCR100.dll - C:\Windows\system32\MSVCR100.dll
WSOCK32.dll - C:\Windows\system32\WSOCK32.dll
MSVCP100.dll - C:\Windows\system32\MSVCP100.dll
COMDLG32.dll - C:\Windows\system32\COMDLG32.dll
ADVAPI32.dll - C:\Windows\system32\ADVAPI32.dll
WS2_32.dll - C:\Windows\system32\WS2_32.dll
WINSPOOL.DRV - C:\Windows\system32\WINSPOOL.DRV
GDI32.dll - C:\Windows\system32\GDI32.dll
KERNEL32.dll - C:\Windows\system32\KERNEL32.dll

It actually had nothing to do with the MVS DLL's!
The DLL issue was related to Pyside.
Even though I downloaded 32 bit version from the Pyside page the problem was only fixed once I installed the 32 bit Pyside Binaries from here!

Is it possible that the EXEs/DLLs are 64 bit builds? Check that you are deploying the correct architecture executables to your 32-bit Windows XP machine.

Related

Error go build using gcc on windows

I'm working on hyperledger fabric sdk client on my computer which is running on Windows 10 64 bits but my problem is general with Go.
In order to do the go build command on my .go file, I had to install gcc. So I installed cygwin 64 bits for Windows.
In the bin repository, I had 3 differents .exe for gcc. I tried all of them :
gcc.exe : I have an error because this .exe is for windows 32 bits and go is 64 bits
x86_64-w64-mingw32-gcc.exe : I have an error, this .exe isn't able to find -lltdl
x86_64-pc-cygwin-gcc : This .exe isn't able to find -lmingwex and -lmingw32
The solution proposed on some subject was to install TDM-GCC-64, but when I do that, I have an error : ltdl.h not found
So if anyone have any idea in order to solve this issue, it will be great !
Thank you :)
PS : Sorry for my english
You're jumping to conclusions without thinking. Windows X64 has full support for 32-bit .exe, but of course you must avoid trying to mix 32-bit and 64-bit applications. You will need to look up how to install libtool or libltdl (.dll and .h) corresponding to whichever gcc version you end up choosing. It's unclear on the cygwin web page whether that is supported for cygwin64. Also, you may need to think about whether you want cygwin gcc and go or a mingw version.

How to compile libdp.dll as 64 bit architecture on windows

I'm trying to build libpd on windows https://github.com/libpd/libpd
The problem I'm having is that when I build with the given "mingw_build.bat" - the libpd.dll that is built is 32 bit architecture.
How can I build using MingW so my resulting DLL is 64 bit architecture?
afaict there is no ready-made solution for this.
here are some generic hints (haven't tried them):
you would need to install mingw64 (the mingw_build.bat seems to assume that you are using mingw32)
fix the paths in mingw_build.bat
additionally set the C-compiler to one that produces 64bit binaries:
CC=x86_64-w64-mingw32-gcc

Lua for windows https error: "%1 is not a valid Win32 application"

I've got a question about Lua and https. I'm developing some software for a router which supports Lua. The bad thing is that this router doesn't support debugging. So I was looking for an IDE for Lua.
I'm using the Lua Development Tools and LuaForWindows on a Win 7 64-bit OS. Till now everything works like it should. But now I have to call some urls by https. The router itself has a package ssl.lua and you can user this package with the require ("ssl.https") statement. But I want to debug it with the Lua Development Tools. I was searching for Windows compatible packages and have found the "Luasec" project.
As mentioned in this thread "Lua with the Freebase API"; I have downloaded Luasec.
I have put the ssl.lua and the ssl folder within my lua installation the I have put the ssl.dll in the clibs folder within the lua installation.
For testing I only do a require ("ssl.https") in my Lua file but it crashes. It says:
C:\Program Files (x86)\Lua\5.1\lua.exe: error loading module 'ssl.core' from file 'C:\Program Files (x86)\Lua\5.1\clibs\ssl.dll':
%1 ist keine zulässige Win32-Anwendung. (%1 is no a valid Win32 application)
I've tested it on a Win 7 32 bit pc too and it crashes with this:
C:\Program Files\Lua\5.1\lua.exe: error loading module 'ssl.core' from file 'C:\Program Files\Lua\5.1\clibs\ssl.dll':
Das angegebene Modul wurde nicht gefunden. (The module cant be found)
Can anybody please help me getting this work?
I had this same problem on Windows 7 64 bit as well, using Alien to load a Windows DLL.
The library I was loading (i.e. the DLL) is a 64 bit DLL, but Lua for Windows is a 32 bit application.
I have a 32-bit version of the DLL that I loaded instead, and that works. See if you too can find a 32 bit version of your library.
As for your problem on 32 bit Windows, that could of course be due to other factors, though if you are using the same 64 bit DLL, I guess that won't work either.
I got this problem yesterday and solved it by downloading the source code of Luasec and built it with static library on a 32-bit windows 7 pc. You may try to build your own.
I changed some configurations in my C/C++ and Linker properties of project.
Below are what I changed:
C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT)
Linker -> General -> Additional Library Directories: C:\OpenSSL-Win32\lib\VC\static
Linker -> Input -> Additional Dependencies: add libeay32MT.lib and ssleay32MT.lib
Or, you could download my version here if you need.

What is PnPUtil.exe location in 64bit systems?

I would like to install my USB device driver [.inf file] using PnPUtil.exe utility on both 32bit and 64bit systems for Windows Vista and Windows 7.
I tested on my machine [Windows 7 32bit] and everything was fine because PnpUtil.exe is located in: C:\Windows\System32\PnPUtil.exe.
But in 64bit Windows 7 the utility is not in this directory.
When I tried installing driver on different Windows 7 - 64bit machine I could found PnPUtil.exe in this location: C:\WIndows\winsxs\amd64_microsoft-windows-pnputil_31bf3856ad364e35_6.1.7600.16385_none_5958b438d6388d15\pnputil.exe
and the test was also fine.
So how can I exactly detect this directory on all platforms?
I noticed the path is dependent on built of Windows version - 6.1.7600.16385 - but how to detect the rest of path?
Or is the path always the same on all 64 bit platforms? And what about Vista?
The location of PnPUtil.exe seen from you installer application depends on the bitness of your installer:
32bit installer on 32bit Windows: %WinDir%\System32
64bit installer on 64bit Windows: %WinDir%\System32
32bit installer on 64bit Windows: %WinDir%\Sysnative (Windows Vista and up)
More info here:
http://www.samlogic.net/articles/sysnative-folder-64-bit-windows.htm
I recently came across this problem while trying to create an installer for ReplicatorG, which includes the Arduino drivers and some drivers specific to the Makerbot Replicator.
It seemed that there isn't any way to determine the location of PnPutil, and I instead had to acquire Microsoft's DIFx and use their redistributable DPinst.
There were a couple of strange things about DPinst that made it difficult to use. The first is that it didn't seem to run properly if it was located in a directory tree with spaces in the path. Who knows why. The second was that, because the Arduino drivers are unsigned, it needed to be run in legacy mode to keep from popping up a big, red dialog warning the user. To run it in legacy mode you use the /lm flag, but the flag must be lowercase. Again, it's unclear why.
In the end, I had the installer copy dpinst and each of the drivers to a folder in the temporary directory and then run dpinst. It pops up a nice little wizard and tells the user which drivers were installed.
From C:\WIndows\winsxs\
dir /s PnPUtil.*
will scan subdirectories

Checking if file is 32bit or 64bit - on Windows

I'm compiling a program on my 64bit machine, but I'm not sure if it produces 32-bit or 64-bit output.. How can I check if a file is 32bit or 64bit on Windows?
You can use GNUfile for windows.
You can run the app thru PEID
Lastly (and preferred- less room for error)
With either Visual Studio C++ (at least express edition minimum) or the Platform SDK installed you can use dumpbin /headers to look at the PE header values.
The first value in the file header tells you the architecture: either 0x14C for x86 or 0x8664 for x64
Just run it and have a look at the Processes tab in Windows Task Manager. If there is a *32 suffix after the process name, it's 32-bit, otherwise it's 64-bit (provided you're on a 64-bit OS).
You could run the 'file' command from linux in a cygwin environment to test.
You could also place some debug statement like 'print sizeof(int)' (schematically) to check.
You may use EXE Explorer by MiTec, a small free tool. It also displays many other properites of the binary file it checks.
I had the same question as the original poster and the EXE Explorer works for me quite well.
http://ntinfo.biz/ - Detect It Easy.
Or just GNU Binutils objdump -f my.exe

Resources