Re: [WiX-users] How to integarte an .cat file

2007-01-29 Thread Frank Büttner
Geoff Finger schrieb:
 For me the assemblies are automatically removed on uninstall. I have
 found however that during the testing process when i'm doing a lot of
 installs and uninstalls in thre process of debuging my Wix code that
 the state of things sometimes gets screwed up and files end up getting
 left behind. Try running the installer on a fresh machine and see if
 it uninstalls correctly there.
 
 If you don't have a spare machine you can use you could try removing
 the assemblies yourself and then do an install/uninstall cycle.
 Unfortunately I'm not sure what the safe way of removing assemblies
 yourself is if Windows doesn't handle it for you.
Yes, after remove it via hand from the VM it will be working again.)


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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to integarte an .cat file

2007-01-27 Thread Frank Büttner
Geoff Finger schrieb:
 That looks correct for the final manifest file. Offhand the only
 possible problem I can is that manifest files may not be equiped to
 handle umlauts. Try using a different file name?

Yes, but the same result.
Any other idea's?
Frank


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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to integarte an .cat file

2007-01-27 Thread Frank Büttner
Frank Büttner schrieb:
 Geoff Finger schrieb:
 That looks correct for the final manifest file. Offhand the only
 possible problem I can is that manifest files may not be equiped to
 handle umlauts. Try using a different file name?
 
 Yes, but the same result.
 Any other idea's?
 Frank

Now it works:)
There was an little spell error in the manifest file.
But when I uninstall my application that the merge module use, the files
 installed as side-by-side assembly will not removed. What must I add to
the wix files of the merge module, to get is uninstalled, when the main
application will be removed.


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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to integarte an .cat file

2007-01-26 Thread Frank Büttner
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= 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= Manufacturer=Frank Büttner
InstallerVersion=300/
Directory Id=TARGETDIR Name=SourceDir
Directory Id=QtDir Name=.
Component Id=QtCore Guid=X
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

Re: [WiX-users] How to integarte an .cat file

2007-01-26 Thread Frank Büttner
Frank Büttner schrieb:
 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= Manufacturer=Frank Büttner
 InstallerVersion=300/
 Directory Id=TARGETDIR Name=SourceDir
 Directory Id=QtDir Name=.
 Component Id=QtCore Guid=X
 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
 

So after some trys I found out, that the sort of the files are
important. When the file is the catalog file, that Wix will compile
it.(Is this normal or an Bug)??
But when I will install it, then I get an error, that the public key
token for catalog file not match the manifest one. But I have used the
same certificate. The public key token are the last 8 bytes of the SHA1
Hash of the certificate or not?



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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to integarte an .cat file

2007-01-26 Thread Frank Büttner
Geoff Finger schrieb:
 Wix doesn't check the validity of the keys, that happens when the file
 is actually installed into WinSxS. As far as I know it's not a bug
 although that would be some great added functionality for Wix.
 
 The public key is what you get by running pktextract on the
 certificate file. The hash file is generated using the private key but
 does not actually contain either part of the key.
 
 After running pktextract you take the results and put them in the
 manifest file, either by directly editing the file yourself, or
 putting it in the Assembly Identity section of the project properties
 as detailed above.
 
 When you're got your manifest, either by editing it directly or
 compiling the project, but before you've created the cdf or cat file
 it should have something resembling the following two lines in it:
 
 assemblyIdentity name=filename processorArchitecture=x86
 publicKeyToken= type=win32
 version=a.b.c.d/assemblyIdentity
 file name=filename.dll
 hash= hashalg=SHA1/
 
 If the file name element is missing you can just add it by hand. If
 you then follow the rest of the steps, using the same key files you
 got the public key from, by the end the publicKeyToken, the hash
 value, and the encryption for the cat file should all match, in that
 the public key you've provided in the manifest will decrypt the
 encryption used on the cat file.
Who can I fount pktextract?
The windows SDK don't contain it:(


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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to integarte an .cat file

2007-01-26 Thread Frank Büttner
Frank Büttner schrieb:
 Geoff Finger schrieb:
 Wix doesn't check the validity of the keys, that happens when the file
 is actually installed into WinSxS. As far as I know it's not a bug
 although that would be some great added functionality for Wix.

 The public key is what you get by running pktextract on the
 certificate file. The hash file is generated using the private key but
 does not actually contain either part of the key.

 After running pktextract you take the results and put them in the
 manifest file, either by directly editing the file yourself, or
 putting it in the Assembly Identity section of the project properties
 as detailed above.

 When you're got your manifest, either by editing it directly or
 compiling the project, but before you've created the cdf or cat file
 it should have something resembling the following two lines in it:

 assemblyIdentity name=filename processorArchitecture=x86
 publicKeyToken= type=win32
 version=a.b.c.d/assemblyIdentity
 file name=filename.dll
 hash= hashalg=SHA1/

 If the file name element is missing you can just add it by hand. If
 you then follow the rest of the steps, using the same key files you
 got the public key from, by the end the publicKeyToken, the hash
 value, and the encryption for the cat file should all match, in that
 the public key you've provided in the manifest will decrypt the
 encryption used on the cat file.
 Who can I fount pktextract?
 The windows SDK don't contain it:(
 
 
So I have found an old platform SDK which contains it.
So now it give me other error, when I try to install it.
Windows say that line 11 of my manifest is invalid.
Here the manifest file of the problem:
?xml version=1.0 encoding=UTF-8 standalone=yes?
assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.0
 assemblyIdentity version=4.2.2.0 processorArchitecture=x86
type=win32 publicKeyToken=X
name=FrankBüttner.Qt.QtGui/assemblyIdentity
 file name=QtGui4.dll hashalg=SHA1 hash=XXXasmv2:hash
xmlns:asmv2=urn:schemas-microsoft-com:asm.v2
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#;dsig:Transformsdsig:Transform
Algorithm=urn:schemas-microsoft-com:HashTransforms.Identity/dsig:Transform/dsig:Transformsdsig:DigestMethod
Algorithm=http://www.w3.org/2000/09/xmldsig#sha1;/dsig:DigestMethoddsig:DigestValue7kkGn2QBTAJxo8cfOLWV8HR0POM=/dsig:DigestValue/asmv2:hash/file
 dependency
  dependentAssembly
   assemblyIdentity version=8.0.50608.0 processorArchitecture=x86
type=win32 publicKeyToken=1fc8b3b9a1e18e3b
name=Microsoft.VC80.CRT/assemblyIdentity
  /dependentAssembly
 /dependency
 dependency
  depentAssembly
   assemblyIdentity version=4.2.2.0 processorArchitecture=x86
type=win32 publicKeyToken=XX
name=FrankBüttner.Qt.QtCore/assemblyIdentity
  /depentAssembly
 /dependency
/assembly
Line 11 is the begin of the second dependency.


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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] How to integarte an .cat file

2007-01-25 Thread Frank Büttner
How can I integrate an .cat file in my merge module.
This file is needed for my side-by-side assembly.
Simple use the File Tag will get the error:
error LGHT0104 : Not a valid manifest file;
How can I do this??


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.phpp=sourceforgeCID=DEVDEV___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to integarte an .cat file

2007-01-25 Thread Geoff Finger
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= 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


On 1/25/07, Frank Büttner [EMAIL PROTECTED] wrote:
 How can I integrate an .cat file in my merge module.
 This file is needed for my side-by-side assembly.
 Simple use the File Tag will get the error:
 error LGHT0104 : Not a valid manifest file;
 How can I do this??


 -
 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.phpp=sourceforgeCID=DEVDEV

 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users





-
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.phpp=sourceforgeCID=DEVDEV
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users