You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/mhammond'closed_at=<Date2009-01-19.10:39:23.821>created_at=<Date2008-04-06.13:52:28.640>labels= ['type-feature', 'library']
title='embed manifest in windows extensions'updated_at=<Date2009-01-19.10:39:23.820>user='https://github.com/mhammond'
The move to vs2008 has caused .manifest files to be created next to
distutils created extensions modules, rather than being embedded as
recommended by Microsoft.
I'm +1 on the feature but I haven't reviewed your patch. IIRC and unless
I'm not mistaken you can tell the linker to embed the manifest without
the extra mt.exe dance.
Note that we are actually using the linker to *generate* the manifest
(something linkers pre VC2005 couldn't do), so if we could tell the
linker to skip that manifest generation and embed it directly in the
DLL, it would certainly be easier. But, IIRC (which I may not), you can
embed a manifest directly via the linker by converting the manifest to a
resource and linking that - however, that conversion still requires an
extra tool. This is the alternative process outlined on the MS page I
linked to. And finally, it seems Visual Studio itself embeds the
resource this way.
So if there is a way to embed the manifest without an additional step, I
don't know about it :)
aheider commented on Oct 14, 2008
aheidermannequin
Mannequin
More actions
Note that this patch will break the loading of compiled modules on
machines without the MS CRT redistributable installed.
Activity
mhammond commentedon Apr 6, 2008
The move to vs2008 has caused .manifest files to be created next to
distutils created extensions modules, rather than being embedded as
recommended by Microsoft.
See http://msdn2.microsoft.com/en-us/library/ms235591(VS.80).aspx
The attached patch achieves this by telling the compiler to generate the
manifest in the temp dir, them embeds that manifest using mt.exe
Adding Christian for comment (hopefully the correct Christian this time
tpn commentedon Apr 8, 2008
+1 from me on principle (haven't tested).
tiran commentedon Apr 8, 2008
Yes, it's me ;)
I'm +1 on the feature but I haven't reviewed your patch. IIRC and unless
I'm not mistaken you can tell the linker to embed the manifest without
the extra mt.exe dance.
mhammond commentedon Apr 8, 2008
Note that we are actually using the linker to *generate* the manifest
(something linkers pre VC2005 couldn't do), so if we could tell the
linker to skip that manifest generation and embed it directly in the
DLL, it would certainly be easier. But, IIRC (which I may not), you can
embed a manifest directly via the linker by converting the manifest to a
resource and linking that - however, that conversion still requires an
extra tool. This is the alternative process outlined on the MS page I
linked to. And finally, it seems Visual Studio itself embeds the
resource this way.
So if there is a way to embed the manifest without an additional step, I
don't know about it :)
aheider commentedon Oct 14, 2008
Note that this patch will break the loading of compiled modules on
machines without the MS CRT redistributable installed.
See bpo-4120
mhammond commentedon Jan 19, 2009
Given bug 4120, this seems the most appropriate resolution...