I'm afraid some of the assembly stuff is truly black-magic to me, but I'll answer what I can.

On 8/11/2011 1:28 AM, Robert wrote:
...

Now when I move away the 5 MFC files (4 dlls + manifest) to _mv, then
Pythonwin.exe still runs properly!
And it does so until I move the folder
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_028bc148
away to C:\WINDOWS\WinSxS\_mv

(There are 2 more 9.0 MFC folders in WinSxS, but they have no effect
regarding Pythonwin.exe - on or off)

Well, but Pythonwin.exe has a builtin manifest
(win32api.LoadResource(None, 24, 1)) which draws version="9.0.21022.8" -
and not 9.0.30729.* !? how come? :

How come what? The C compiler generates this dependency based on what I have installed, which is VS2008 with no service packs.



<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker"
uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT"
version="9.0.21022.8" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.MFC"
version="9.0.21022.8" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>


Moreover, the files in ..

Verzeichnis von
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_028bc

148

10.10.2011 11:04 <DIR> .
10.10.2011 11:04 <DIR> ..
18.04.2011 21:51 3.766.600 mfc90.dll
18.04.2011 21:51 3.781.960 mfc90u.dll
18.04.2011 21:51 59.904 mfcm90.dll
18.04.2011 21:51 59.904 mfcm90u.dll
4 Datei(en) 7.668.368 Bytes
2 Verzeichnis(se), 43.545.792.512 Bytes frei

.. are younger than Pythonwin.exe itself !??

I guess the manifest for that version indicates it supports the older version?



Well, now with MFC90 folders of WinSxS moved away, and Pythonwin.exe
finally not booting as wanted, I move then back the 5 MFC files from
C:\Python27\Lib\site-packages\pythonwin\_mv to
C:\Python27\Lib\site-packages\pythonwin . But Pythowin.exe now doesn't
start with that files right next to it (where precisely the same version
is in Pythonwin.exe manifest and in that Microsoft.VC90.MFC.manifest
file), nor does import win32ui in python(w).exe work.
(ImportError: DLL load failed: The referenced assembly is not installed
on the computer)
Pythonwin.exe or win32ui won't load until
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_028bc

148 is in Place.

Is it possible that Windows is keeping an index of what is installed, so it *thinks* it will find the assembly in the SxS directory but fails to locate it and doesn't try the directory next to the modules?

I absolutely don't understand this. How can Pythonwin.exe draw a MFC90
DLL set with future date and future version, and reject the DLL set
coming with pywin32 installer right next to with right version ... ?
What has to be done to distribute the right binary files for a win32ui app?

Where do the "active" rather new files in
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_028bc

148 come from at all?

Probably from something else you installed - pywin32 doesn't install it.

Please continue to share whatever you learn :)

Mark


Robert


PS: By experience the method with placing MSVCRT 90 files + manifest
next to a Python2.6 wxPython app (no MFC/win32ui) worked on fresh
computers (which I don't have easily at hand).

But here c:\python27\python.exe requires
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_31a54e43

.. while 'name="Microsoft.VC90.CRT" version="9.0.21022.8"' is in its
built-in manifest


_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to