I have application that produces files. I would like to connect those files with application so that double-click on file launches my application.
Everything works p
DefaultIcon will also accept a path to a valid .ico file as an Icon.
You have to make sure that you have Win32 icons in your project not just .net icons. I HOPE that someone points out an easy way to do this, but in the mean time, here goes...
Compile your assembly, then from Visual Studio select "File -> Open -> Open File", open the compiled assembly. Add the icon you want to use for documents and set its ID to something above the one in use for your app. Save the assembly. Now you have Win32 resources available.
-- Edit --
After editing his post ZippyV appears to have a very good answer.
Have you tried setting 2 as the icon index?
EDIT: I found a way but you have to do it again for every new build.
EDIT 2: Try this article: http://www.codeproject.com/KB/dotnet/embedmultipleiconsdotnet.aspx
If you are using the Wix toolset (http://www.wixtoolset.org) to install your application, you can get Wix to take care of the file type and document icon registration
Here is my magic Wix incantation:
<!-- Your executable -->
<File
Id="MaAppExe"
Name="MyApp.exe"
Source="MyApp.exe" KeyPath="yes" >
</File>
<!-- your document icon -->
<File
Id='IconMyAppDoc.ico'
Name='IconMyAppDoc.ico'
Source='$(var.MyApp.ProjectDir)\Resources\Images\Icons\docicon.ico' />
<-- File Extension and associated document icon -->
<ProgId
Id='MyApp.MyAppExtension'
Description='My App Data File'
Icon='IconMyAppDoc.ico'>
<Extension
Id='MyApp'
ContentType='text/plain'>
<Verb
Id='open'
Command='Open'
TargetFile="MyAppExe"
Argument='"%1"' />
</Extension>
</ProgId>
</Component>