Wix File Association with standard Windows File
I'm working on a Wix project. I need to associate a new file extension. In itself, appears simple. The issue is I want to associate a new extension as a type of text file that can be open with standard Windows NotePad.exe. The issue/concern I have is I don't want to copy My XP version of Notepad and have it installed within the end-user's System32 and overwrite their Notepad for XP, Vista, Windows7, etc which should already be there.
开发者_开发技巧How should I properly reference this association.
FINAL ANSWER as credited to @Sunil
Wix 3.5 didn't like the target file with the system folder and file name... So, within my component/directory, I created a file ID entry pointing to the file in question, THEN, the extension association to this file ID reference as below...
<File Id="LinkingNotePad" Source="$(env.windir)\Notepad.exe" ></File>
<ProgId Id="MyProgID" Description="Text files for my new extension" Advertise="no" >
<Extension Id="myExt" ContentType="application/text" Advertise="no" >
<Verb Command="Open" Id="regMyProgID" TargetFile="LinkingNotePad" Argument="%1" />
</Extension>
</ProgId>
In the above sample, it can't resolve the target file as I have not explicitly told it where to find it. I don't want it to grab my version and overwrite the users version.
Thanks
All system files can be accessed using the WIX variable "SystemFolder".
SystemFolder will give you the default Windows folder path. So you will have TargetFile=[SystemFolder]Notepad.exe"
Windows Installer doesn't support file associations for already installed products. So if you want to create a file association for an existing file, you can try creating it manually through registry entries:
- http://msdn.microsoft.com/en-us/library/cc144104(VS.85).aspx
- http://phi.lho.free.fr/windows_tips/FileAssociations.en.html
精彩评论