Note that there are some explanatory texts on larger screens.

plurals
  1. PODLL redirection using manifests
    primarykey
    data
    text
    <p>I need to reliably redirect an applications look up of a specific DLL. Using the app.exe.local approach does not work because local files are ignored if the application has a manifest (embedded or separate file). So I am trying to do DLL redirection by defining the DLL as a private assembly in the manifests.</p> <p>I have a test application, LoadDll.exe which simply calls</p> <pre><code>LoadLibrary("C:\\EmptyDll.dll"); </code></pre> <p>The LoadDll.exe has the manifest (as a separate file, LoadDll.exe.manifest)</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt; &lt;assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"&gt; &lt;assemblyIdentity version="1.0.0.1" processorArchitecture="x86" name="LoadDll" type="win32" /&gt; &lt;dependency&gt; &lt;dependentAssembly&gt; &lt;assemblyIdentity type="win32" name="EmptyDll" version="1.0.0.1" processorArchitecture="x86" /&gt; &lt;/dependentAssembly&gt; &lt;/dependency&gt; &lt;/assembly&gt; </code></pre> <p>The Application folder containing LoadDll.exe (NOT c:\) contains the EmptyDll.dll with the embedded manifest.</p> <pre><code>&lt;?xml version='1.0' encoding='UTF-8' standalone='yes'?&gt; &lt;assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'&gt; &lt;assemblyIdentity type="win32" name="EmptyDll" version="1.0.0.1" processorArchitecture="x86" /&gt; &lt;/assembly&gt; </code></pre> <p>However, LoadDll.exe goes ahead and loads C:\EmptyDll.dll, and not the EmptyDll.dll in the application folder.</p> <p>If you break either manifest (e.g. change the version number in the EmptyDll.dll manifest identity), LoadDll.exe does not load, so the manifest files are being read and processed by windows, but just ignored.</p> <p>Anyone got any ideas?</p> <p>Thanks!</p> <p>Toby</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload