Geoff Finger schrieb:
> I'm not sure what steps you've already completed so here's the entire
> process I followed. In my case I was using MS VS 2005, obviously some
> steps my have to be addapted depending on the enviroment you're
> working under.
> 
> First you have to create a key if you don't have one already:
> 
> makecert -n "CN=<CompanyName>" -sv <PVKFile.pvk> <CertificateFile.cer>
> -len 2048 -r
> 
> pvk2pfx.exe -pvk <PVKFile.pvk> -spc <CertificateFile.cer> -pfx
> <PFXFile.pfx> [-po Password]
> 
> pktextract <CertificateFile.cer>
> 
> The password, if any, will be the one you enter for the first step.
> The last step generates the public key token you'll be needing later.
> 
> You'll need a manifest file, you can write it yourself or take the
> easy way out by compiling the project once after going to project
> properties and selecting General->Manifest. Set the Assembly Identity
> to:
> 
> <DllName>, type=win32, version=<VersionNumber>,
> processorArchitecture=X86, publicKeyToken=<PublicKeyToken>
> 
> DllName is the name without the extension, VersionNumber is of the
> form 1.2.3.4, and the PublicKeyToken is the one you got from
> pktextract. Make sure you have "Embed Manidest" under "Input and
> Output" set to no for this first time.
> 
> Depending on the compiler you're using you may need to edit the
> resulting manifest file and add the line
> 
> <file name="dllFile.dll"
> hash="0000000000000000000000000000000000000000" hashalg="SHA1"/>
> 
> before any dependency elements. the file name is the final name of the
> file, with the extension. The value of the hash bit is unimportant
> because it will be overwritten later. You can save the resulting
> manifest file and reuse it for the following steps multiple times as
> long as none of the fundamental values change (file name, version
> number, encryption key, etc)
> 
> You then run
> 
> mt.exe -manifest <dllFile.dll.manifest> -hashupdate -makecdfs
> 
> which updates the hash value and creates a cdf ffile. Next you run:
> 
> makecat -v <dllFile.dll.manifest.cdf>
> 
> to create the cat file. FInally you run
> 
> signtool sign /f <PFXFile.pfx> [/p password] /t
> http://timestamp.verisign.com/scripts/timestamp.dll <dllFile.dll.cat>
> 
> to sign  the catalog file using the key.
> 
> Now the wix bit, which I had a lot of trouble with and sent a couple
> messages to the list about without resulting in much progress. Once I
> figured out what the missiing bits were however it turned out to be
> pretty simple:
> 
> <Component Id="DllComponent" Guid="MYGUID-#############">
>         <File Id="ManFile" Name="dllFile.man" LongName="dllFile.dll.manifest"
>          src="Path\dllFile.dll.manifest" Vital="yes" DiskId="1">
>         </File>
>         <File Id="CatFile" Name="dllFile.cat" LongName="dllFile.dll.cat"
>          src="Path\dllFile.dll.cat" Vital="yes" DiskId="1">
>         </File>
>         <File Id="DllFile" Name="dllFile.dll" LongName="dllFile.dll"
> KeyPath="yes"
>          src="Path\dllFile.dll" Vital="yes" DiskId="1"
> Assembly="win32" AssemblyManifest="ManFile">
>         </File>
> </Component>
> 
> And of course finally once you've installed your new assembly you need
> to reference it in any other projects that will be using it by going
> to Project Options->Linker->Manifest File->Additional Manifest
> Dependencies and adding
> 
> "type='win32' name='<DllName>' version='<VersionNumber>'
> processorArchitecture='X86' publicKeyToken='<PublicKeyToken>'
> language='*'"
> 
> There are a couple pages that halped me figure this stuff out if you
> want to take a look at them:
> 
> http://msdn2.microsoft.com/en-us/library/aa376307.aspx
> http://msdn2.microsoft.com/en-us/library/ms235512.aspx
> and especially:
> http://msdn2.microsoft.com/en-gb/library/aa374228.aspx
> 
These steps has I all do. But the build fails with the error above.
Here is my file that I have tried:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
    <Module Id="QtCoreModul" Language="0" Version="4.2.2.0">
        <Package Id="XXXXXXXXXXXXXXXX" Manufacturer="Frank Büttner"
InstallerVersion="300"/>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="QtDir" Name=".">
                <Component Id="QtCore" Guid="XXXXXXXXXXXXXXXXXXXXX">
                    <File Id="qtcoredll" Vital="yes" Name="QtCore4.dll"
Assembly="win32" KeyPath="yes"
Source="F:\Temp\Qt4\Mergemodule\QtCore4.dll"
AssemblyManifest="qtcoredllmanifest" />
                   <File Id="qtcoredllmanifest" Vital="yes"
Name="QtCore4.dll.manifest"
Source="F:\Temp\Qt4\Mergemodule\QtCore4.dll.manifest" />
                        <File Id="qtcoredllcat" Vital="yes" 
Name="QtCore4.dll.cat"
Source="F:\Temp\Qt4\Mergemodule\QtCore4.dll.cat"/>      
                </Component>
            </Directory>
        </Directory>
    </Module>
</Wix>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to