diff options
Diffstat (limited to 'src/burn/stub')
-rw-r--r-- | src/burn/stub/stub.cpp | 15 | ||||
-rw-r--r-- | src/burn/stub/stub.manifest | 18 | ||||
-rw-r--r-- | src/burn/stub/stub.vcxproj | 7 |
3 files changed, 22 insertions, 18 deletions
diff --git a/src/burn/stub/stub.cpp b/src/burn/stub/stub.cpp index 9c9dfeef..d8cee9f1 100644 --- a/src/burn/stub/stub.cpp +++ b/src/burn/stub/stub.cpp | |||
@@ -41,20 +41,7 @@ int WINAPI wWinMain( | |||
41 | hEngineFile = ::CreateFileW(sczPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); | 41 | hEngineFile = ::CreateFileW(sczPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); |
42 | } | 42 | } |
43 | 43 | ||
44 | // If the engine is in the clean room, we'll do the unsafe initialization | 44 | AppInitialize(rgsczSafelyLoadSystemDlls, countof(rgsczSafelyLoadSystemDlls)); |
45 | // because some systems in Windows (namely GDI+) will fail when run in | ||
46 | // a process that protects against DLL hijacking. Since we know the clean | ||
47 | // room is in a clean folder and not subject to DLL hijacking we won't | ||
48 | // make ourselves perfectly secure so that we can load BAs that still | ||
49 | // depend on those parts of Windows that are insecure to DLL hijacking. | ||
50 | if (EngineInCleanRoom(lpCmdLine)) | ||
51 | { | ||
52 | AppInitializeUnsafe(); | ||
53 | } | ||
54 | else | ||
55 | { | ||
56 | AppInitialize(rgsczSafelyLoadSystemDlls, countof(rgsczSafelyLoadSystemDlls)); | ||
57 | } | ||
58 | 45 | ||
59 | AvoidLocalDllRedirection(sczPath); | 46 | AvoidLocalDllRedirection(sczPath); |
60 | 47 | ||
diff --git a/src/burn/stub/stub.manifest b/src/burn/stub/stub.manifest new file mode 100644 index 00000000..9718e9b1 --- /dev/null +++ b/src/burn/stub/stub.manifest | |||
@@ -0,0 +1,18 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> | ||
3 | <assemblyIdentity name="WixToolset.Burn" version="5.0.0.0" type="win32"/> | ||
4 | <description>WiX Toolset Bootstrapper Engine</description> | ||
5 | <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application> | ||
6 | <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> | ||
7 | <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> | ||
8 | <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> | ||
9 | <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> | ||
10 | <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> | ||
11 | </application></compatibility> | ||
12 | <application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings> | ||
13 | <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> | ||
14 | <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor, System</dpiAwareness> | ||
15 | <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware> | ||
16 | </windowsSettings></application> | ||
17 | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges></security></trustInfo> | ||
18 | </assembly> | ||
diff --git a/src/burn/stub/stub.vcxproj b/src/burn/stub/stub.vcxproj index 03f49209..d07b8da7 100644 --- a/src/burn/stub/stub.vcxproj +++ b/src/burn/stub/stub.vcxproj | |||
@@ -35,7 +35,6 @@ | |||
35 | <ProjectSubSystem>Windows</ProjectSubSystem> | 35 | <ProjectSubSystem>Windows</ProjectSubSystem> |
36 | <TargetName>burn</TargetName> | 36 | <TargetName>burn</TargetName> |
37 | <CharacterSet>Unicode</CharacterSet> | 37 | <CharacterSet>Unicode</CharacterSet> |
38 | <GenerateManifest>false</GenerateManifest> | ||
39 | <Description>Native component of WixToolset.Burn</Description> | 38 | <Description>Native component of WixToolset.Burn</Description> |
40 | <!-- NBGV properties --> | 39 | <!-- NBGV properties --> |
41 | <AssemblyLanguage>1033</AssemblyLanguage> | 40 | <AssemblyLanguage>1033</AssemblyLanguage> |
@@ -62,7 +61,7 @@ | |||
62 | <Link> | 61 | <Link> |
63 | <SwapRunFromCD>true</SwapRunFromCD> | 62 | <SwapRunFromCD>true</SwapRunFromCD> |
64 | <SwapRunFromNET>true</SwapRunFromNET> | 63 | <SwapRunFromNET>true</SwapRunFromNET> |
65 | <DelayLoadDLLs>cabinet.dll;crypt32.dll;msi.dll;shlwapi.dll;userenv.dll;version.dll;wininet.dll;wintrust.dll</DelayLoadDLLs> | 64 | <DelayLoadDLLs>cabinet.dll;crypt32.dll;msi.dll;rpcrt4.dll;shlwapi.dll;userenv.dll;version.dll;wininet.dll;wintrust.dll</DelayLoadDLLs> |
66 | <AdditionalOptions>/DEPENDENTLOADFLAG:0x800 %(AdditionalOptions)</AdditionalOptions> | 65 | <AdditionalOptions>/DEPENDENTLOADFLAG:0x800 %(AdditionalOptions)</AdditionalOptions> |
67 | </Link> | 66 | </Link> |
68 | </ItemDefinitionGroup> | 67 | </ItemDefinitionGroup> |
@@ -81,6 +80,7 @@ | |||
81 | </ClCompile> | 80 | </ClCompile> |
82 | </ItemGroup> | 81 | </ItemGroup> |
83 | <ItemGroup> | 82 | <ItemGroup> |
83 | <Manifest Include="stub.manifest" /> | ||
84 | <ResourceCompile Include="stub.rc" /> | 84 | <ResourceCompile Include="stub.rc" /> |
85 | </ItemGroup> | 85 | </ItemGroup> |
86 | 86 | ||
@@ -91,9 +91,8 @@ | |||
91 | </ItemGroup> | 91 | </ItemGroup> |
92 | 92 | ||
93 | <ItemGroup> | 93 | <ItemGroup> |
94 | <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> | ||
95 | |||
96 | <PackageReference Include="WixToolset.DUtil" /> | 94 | <PackageReference Include="WixToolset.DUtil" /> |
95 | <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> | ||
97 | </ItemGroup> | 96 | </ItemGroup> |
98 | 97 | ||
99 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | 98 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |