News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

AddManifest AddIn

Started by lamer, April 09, 2005, 01:42:28 PM

Previous topic - Next topic

lamer

Hi all!
Where can I find the AddManifest.dll (I've found this name in RadAsm Help)?
Or there is another way to create manifest resource?

KetilO

Hi

That addin is not stable in newer versions of RadASM

I prefer making an xptheme.xml file and add it as a MANIFEST resource.


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
   xmlns="urn:schemas-microsoft-com:asm.v1"
   manifestVersion="1.0">
<assemblyIdentity
    processorArchitecture="x86"
    version="5.1.0.0"
    type="win32"
    name="program.exe"/>
    <description>Mx XP Program</description>
    <dependency>
    <dependentAssembly>
    <assemblyIdentity
         type="win32"
         name="Microsoft.Windows.Common-Controls"
         version="6.0.0.0"
         publicKeyToken="6595b64144ccf1df"
         language="*"
         processorArchitecture="x86"/>
    </dependentAssembly>
    </dependency>
</assembly>


KetilO

lamer

Hi!
That's exactly what I have tried to do, before starting to search after addin. I did: Project-->Resource and then added new resource of MANIFEST type. This added the entry:
#define MANIFEST                   24
1                  MANIFEST  DISCARDABLE "TestWindow.xml"

in the .rc file in Res directory. Everything is OK,isn't it? But then begins something strange. While making EXE I get an error message:
CVTRES : fatal error CVT1100: duplicate resource -- type:24, name:1, language:0x0409
TestWindow.res : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

I go to .res file and see that my Manifest has been added twice! Well, I delete the resource, save all and try to add the manifest again.
Ooooops! Just the same error, but now .res file includes 4(!) instances of manifest. After all I have just created a new project and copied the code manually.

KetilO

Yes, this might happend if you manually edit the .rc files

KetilO

liquidsilver

How could you get it to work then?

Shantanu Gadgil

Add the following line to the .RC file

1   24   MANIFEST  DISCARDABLE "THEME_XP.xml"

The file THEME_XP.XML should be as:
---cut here---
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    name="Win32.Application.Name"
    processorArchitecture="x86"
    version="1.0.0.0"
    type="win32"/>
<description>Win32.App.Desc</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>
---cut here---
To ret is human, to jmp divine!

Shantanu Gadgil

Another thing MSDN says that if you have the "manifest" as one of the resource, you do not need to call "InitCommonControls"

Obviously if you still have to use "InitCommonControlsEx".
To ret is human, to jmp divine!

Shantanu Gadgil

ERROR in my previous post...the line:

1   24   MANIFEST  DISCARDABLE "THEME_XP.xml"

should be:

1   24  DISCARDABLE "THEME_XP.xml"
To ret is human, to jmp divine!

mariø

you can also have the manifest as a exefilename.exe.manifest in your executable directory

QvasiModo

Quote from: KetilO on April 09, 2005, 03:19:23 PM
That addin is not stable in newer versions of RadASM
Is it much work to fix it? What do I have to do?

KetilO

Hi

I am not shure, but guessing that registers (ebx, esi or edi) are not preserved.

KetilO

QvasiModo

I'll try to fix it when I get back home (don't have the sources here).