View Single Post
Old Dec 7th, 2005, 2:30 PM   #7
Rory
Expert Programmer
 
Rory's Avatar
 
Join Date: Jan 2005
Location: London
Posts: 542
Rep Power: 4 Rory is on a distinguished road
Send a message via MSN to Rory
Quote:
Originally Posted by Ooble
Create a new file called "<your_program_name>.exe.manifest" and put this inside it:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>.NET control deployment tool</description>
<dependency>
	<dependentAssembly>
		<assemblyIdentity
			type="win32"
			name="Microsoft.Windows.Common-Controls"
			version="6.0.0.0"
			processorArchitecture="X86"
			publicKeyToken="6595b64144ccf1df"
			language="*"
		/>
	</dependentAssembly>
</dependency>
</assembly>
Yeah you also need to call the InitCommonControlsA export in ComCtl32 otherwise it'll segfault. Also it's better practice to include the manifest as a resource inside the file, and there are other fields in the xml which are meant to be reflected in your application but aren't normally validated, for instance if you're writing a .NET assembly. I actually made a modified compiler for VB6 that'd do this automatically, as well as UPX and digitally sign it, or make it a console only application...
Rory is offline   Reply With Quote