使用Wix,我已经想出了如何在ProgId中注册文件关联,但是在资源管理器中,当你点击“打开方式...”或“选择程序...”时,我只看到我的应用程序EXE文件名。
如何在没有EXE文件扩展名的情况下更改它以显示我的应用名称?
另外,我注意到其他注册的应用程序在其应用程序名称下面有灰色的公司名称等信息(例如Microsoft或Document Foundation,如下图所示)。怎么补充?
以下是一些照片:
这是我的完整wix.xml:
<Icon Id="icon.ico" SourceFile="jedit.ico"/>
<Property Id="ARPPRODUCTICON" Value="icon.ico"/>
<!-- Step 1: Define the directory structure -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="jedit"/>
</Directory>
<Directory Id="ProgramMenuFolder">
</Directory>
</Directory>
<!-- Step 2: Add files to your installer package -->
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
<Component Id="appfiles" Guid="{E73254A5-EFE2-4265-A231-B907FEF4B4C4}">
<File Id="jedit.jar" Source="jedit.jar"/>
<File Id="javaforce.jar" Source="javaforce.jar"/>
<File Id="jedit32.exe" Source="jedit32.exe" KeyPath="yes"/>
<File Id="jedit64.exe" Source="jedit64.exe"/>
<ProgId Id="jfEdit.txt" Description="Text Document" Advertise="yes" Icon="icon.ico">
<Extension Id="txt" ContentType="text/plain">
<Verb Id="open" Command="Open" Argument=""%1"" />
</Extension>
</ProgId>
<ProgId Id="jfEdit.ini" Description="Configuration Settings" Advertise="yes" Icon="icon.ico">
<Extension Id="ini" ContentType="text/plain">
<Verb Id="open" Command="Open" Argument=""%1"" />
</Extension>
</ProgId>
<ProgId Id="jfEdit.properties" Description="Properties" Advertise="yes" Icon="icon.ico">
<Extension Id="properties" ContentType="text/plain">
<Verb Id="open" Command="Open" Argument=""%1"" />
</Extension>
</ProgId>
</Component>
</DirectoryRef>
<!-- Step 2b: Add the shortcut to your installer package -->
<DirectoryRef Id="ProgramMenuFolder">
<Component Id="ApplicationShortcut" Guid="{A986E325-13AB-4FD1-AB3B-4637DF9BC1D9}">
<Shortcut Id="ApplicationStartMenuShortcut" Name="jfEdit" Description="Java Text Editor" Target="[APPLICATIONROOTDIRECTORY]jedit32.exe"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<RegistryValue Root="HKCU" Key="Software\Microsoft\jfEdit" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<!-- Step 3: Tell WiX to install the files -->
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="appfiles" />
<ComponentRef Id="ApplicationShortcut" />
</Feature>
答案 0 :(得分:1)
查看来自@saschabeaumont的this response,其中应该包含所有涉及的注册表项。 打开方式... -dialog中显示的名称是名为FriendlyAppName
的注册表项。显示在文件的 Open with ... 上下文菜单条目中的文件位于注册表项中
HKLM\SOFTWARE\Classes\<YourProgId>\shell\open\FriendlyAppName
我发现这两个是不同的,但只是破解了我的注册表。如果您使用链接答案的整个示例,它可以完美地工作。
第二行是Windows安装程序中的Manufacturer
- AFAIK属性。一旦应用程序正确注册,它也应该在打开方式... 对话框中显示。