Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save eladkarako/2a1bbcf2a385f72c42d60086d3d19b24 to your computer and use it in GitHub Desktop.

Select an option

Save eladkarako/2a1bbcf2a385f72c42d60086d3d19b24 to your computer and use it in GitHub Desktop.
favor side-by-side external manifest instead of embedded one
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001
;note. this is probably not needed, or wrong.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"PreferExternalManifest"=dword:00000001
;https://learn.microsoft.com/en-us/answers/questions/2755419/preferexternalmanifest-broken-after-latest-update
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=-
;note. this is probably not needed, or wrong.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"PreferExternalManifest"=-
;https://learn.microsoft.com/en-us/answers/questions/2755419/preferexternalmanifest-broken-after-latest-update
@eladkarako
Copy link
Copy Markdown
Author

what do you use it for?
"forcing" a manifest, in my case,
was useful to override DPI settings,
and using segmented heap for applications that requires a lot of RAM
such as VMWare workstation (Oracle virtualbox), and 7zip.
as for 7zip, since it got so few components, I've just edit the resources manually using reshack,
and mt.exe to embed a new manifest.

but a program that is signed, or located in "safe location" such as C:\Program Files\
with a lot of services, drivers, and not open-source, is a hassle to binary patch,
other than invalidating the certificate,
there are simply too much components,
and it isn't very portable..
instead, just dump the existing manifest,
making sure sxs is happy and you don't miss any actual useful dependency,
merge it with the default manifest file,
and just rename it to the same component (dll, exe, sfx,...)
and place it in the same folder, you don't even have to reboot, just close the program and re-open it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment