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>
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