From 4ebea3c679ca93eb90d62be76bf8eb3cd7d14160 Mon Sep 17 00:00:00 2001 From: Jan Dubois Date: Thu, 30 Apr 2009 16:53:20 -0700 Subject: Always add a manifest resource to perl.exe to specify the settings for Windows Vista and later. Without this setting Windows will treat perl.exe as a legacy application and apply various heuristics like redirecting access to protected file system areas (like the "Program Files" folder) to the users "VirtualStore" instead of generating a proper "permission denied" error. For VC8 and VC9 this manifest setting is automatically generated by the compiler/linker (together with the binding information for their respective runtime libraries); for all other compilers we need to embed the manifest resource explicitly in the external resource file. This change also requests the Microsoft Common-Controls version 6.0 (themed controls introduced in Windows XP) via the dependency list in the assembly manifest. For VC8 and VC9 this is specified using the /manifestdependency linker commandline option instead. --- win32/perlexe.rc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'win32/perlexe.rc') diff --git a/win32/perlexe.rc b/win32/perlexe.rc index 627b8576b2..c22797826c 100644 --- a/win32/perlexe.rc +++ b/win32/perlexe.rc @@ -1 +1,8 @@ PERLEXE ICON perlexe.ico + +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#define RT_MANIFEST 24 + +#ifdef INCLUDE_MANIFEST +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "perlexe.manifest" +#endif -- cgit v1.2.1