Quote Originally Posted by LaVolpe View Post
If you want your VB6.exe to use an external manifest, unless you plan on using some 3rd party software to embed one into the exe (and hope it doesn't corrupt it), some annoyances are expected. Simply adding an external manifest along side of VB6.exe doesn't guarantee it will be used. You may very well need to change a registry setting to make it happen. After you are sure your manifest is being recognized, you will likely want to go and restore the setting:
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
Value: PreferExternalManifest
Data: 1 = prefer, 0 = don't prefer
After making the change and manifest still appears to not take effect, reboot. It is getting harder and harder to use external manifests within Windows -- and that's probably not a bad thing.
I have been using resource files and manifests in my apps for quite some time but I've stumbled upon this thread while searching for how to update the user interface to reflect modern standards. Applying visual themes via the manifest file seems to be just the thing I was looking for. Your posts have helped me numerous times throughout the years, LaVolpe!

Since you mentioned that it's possible to update the theme of the VB6 IDE itself, I definitely wanted to try that and I experienced the following outcomes:

In both Windows 7 and Windows 10 the external manifest doesn't work unless you set "PreferExternalManifest=1" as you suggested. Setting it back to zero will ignore the external manifest again!

If you set "PreferExternalManifest=1" there is an unexpected behavior in Windows 7. The "Network" icon will disappear from the taskbar (lower right corner, near the clock). Also clicking the clock will no longer display the calendar (nothing happens). These are fixed by setting PreferExternalManifest back to zero (requires reboot). In Windows 10 everything works correctly.

I have found a way to embed the external manifest inside the VB6.EXE file by using the manifest tool (mt.exe) that comes with the Microsoft Windows SDK. If you don't have the SDK you can download just the mt.exe tool from: https://github.com/eladkarako/mt

Code:
mt.exe -manifest VB6.EXE.manifest -outputresource:VB6.EXE;1
After running the command above, the new VB6.EXE will contain the manifest file embedded inside itself while somehow retaining the same file size as before and you will have the added benefit of the visual themes inside the IDE! Hope this helps.