После некоторых дополнительных исследований, я нашел частичное ответьте на этот вопрос в 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 является файл идентификатор (не имя) исполняемого файла (т.е. Идентификатор элемента 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' />
я не нашел хорошее решение для моего бонусного вопроса, хотя ,
Редактировать: Я начал писать это до того, как появился предыдущий ответ. Однако мое решение действительно работает, в отличие от предыдущего ответа.
Это не работает. – 2017-06-08 09:26:27
@VK:. Что точно не работает для вас? Код, аналогичный этому, находится в производстве с 2008 года здесь и никогда не менялся, и он все еще работает.С другой стороны, теперь вы можете использовать значок для рекламируемого решения без необходимости установки файла значка (или просто использовать файл, если вы можете установить файл или иметь его в исполняемом файле в любом случае). Итак, что здесь не работает? – OregonGhost 2017-07-27 07:31:58