После некоторых дополнительных исследований я нашел частичный ответ на этот вопрос в WiX Tutorial . Он показывает рекламируемое решение и не работает с WiX 3.0, но, учитывая эту информацию, я понял это. Добавьте элемент ProgId к компоненту, содержащему ваш исполняемый файл, как показано ниже:
<ProgId Id="MyApplication.MyFile" Description="My file type">
<Extension Id="myext" ContentType="application/whatever">
<Verb Id="open" Command="open" TargetFile="MyApplication.exe" Argument=""%1""/>
</Extension>
</ProgId>
myext - это расширение файла без точки, а MyApplication.exe - идентификатор файла (не имя) исполняемого файла (то есть атрибут Id элемента File).
Это зарегистрирует тип файла в вашем исполняемом файле и предоставит значок по умолчанию (белая страница со значком приложения), которого достаточно для моих нужд. Если вы хотите указать выделенный значок, похоже, вам все равно придется сделать это самостоятельно, как показано ниже (код из связанного руководства):
<Registry Id='FooIcon1' Root='HKCR' Key='.xyz' Action='write' Type='string' Value='AcmeFoobar.xyzfile' />
<Registry Id='FooIcon2' Root='HKCR' Key='AcmeFoobar.xyzfile' Action='write' Type='string' Value='Acme Foobar data file' />
<Registry Id='FooIcon3' Root='HKCR' Key='AcmeFoobar.xyzfile\DefaultIcon' Action='write' Type='string' Value='[INSTALLDIR]Foobar.exe,1' />
Я не нашел хорошего решения для моего бонусного вопроса.
Редактировать: я начал писать это до того, как пришел предыдущий ответ. Однако мое решение действительно работает, в отличие от предыдущего ответа.