7

私はwixが初めてです。ローカルWebサイトへのショートカットを作成する必要があります。

正常に動作し、ショートカットを作成しますが、スタートメニューとデスクトップにアイコンが表示されません... Webサイトにはファビコンファイルがあり、サイトを開くと完全に表示されます。ショートカット。私はそれをグーグルしようとしましたが、util:InternetShortcutの良い答えが見つかりませんでした。

私のコードは次のとおりです。

<DirectoryRef Id="ApplicationProgramsFolder">
  <Component Id="ApplicationShortcutBBBApp" Guid="---">
    <util:InternetShortcut Id="ApplicationStartMenuShortcutBBBApp"
                    Name="BBB"
                    Target="http://localhost/BBB"/>
    <util:InternetShortcut Id="ApplicationDesktopShortcutBBBApp"
                    Name="BBB"
                    Directory="DesktopFolder"
                    Target="http://localhost/BBB"/>
    <RegistryValue Root="HKCU" Key="Software\Microsoft\BBB" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  </Component>
</DirectoryRef>
4

4 に答える 4

1

InternetShortcut は、通常のショートカットのようなアイコンの指定をサポートしていません。そのためのオープンな機能リクエストがあります。技術的には、Windows の IUniformResourceLocator ショートカットはアイコンをサポートしていませんが、IShellLink ショートカットはサポートしています。

于 2012-06-21T17:42:54.847 に答える
0

これに答えるのが少し遅れましたが、同じことをする必要がありました。私がとったアプローチは、iniFile 要素を使用して URL ファイルを書き出すことでした。

このアプローチの 2 つのポイント:

  1. ショートカットはデスクトップにあり、アイコン ファイルはファイル システムの別の場所にあるため、アイコン ファイルを展開するための別のコンポーネントを作成する必要がありました。
  2. MSI が UAC をオンにして通常のユーザーとして実行されている場合、アイコンはショートカットに設定されません。インストール前に UAC を無効にすると、アイコンが正しく設定されました。

    <Fragment>
    <DirectoryRef Id="DesktopFolder">
        <Component Id="ProductInternetShortcut" Guid="{YOUR_GUID_HERE}" >
            <IniFile Id="url_name"
                Action="addLine"
                Directory="DesktopFolder"
                Section="InternetShortcut"
                Name="ProductInternetShortcut.url"
                Key="URL"
                Value="https://my.url.com/" />
    
            <IniFile Id="url_target"
                Action="addLine"
                Directory="DesktopFolder"
                Section="InternetShortcut"
                Name="ProductInternetShortcut.url"
                Key="Target"
                Value="https://my.url.com/" />
    
            <IniFile Id="url_idlist"
                Action="createLine"
                Directory="DesktopFolder"
                Section="InternetShortcut"
                Name="ProductInternetShortcut.url"
                Key="IDList"
                Value=" " />
    
            <IniFile Id="url_HotKey"
                Action="addLine"
                Directory="DesktopFolder"
                Section="InternetShortcut"
                Name="ProductInternetShortcut.url"
                Key="HotKey"
                Value="0" />
    
            <IniFile Id="url_icon"
                Action="addLine"
                Directory="DesktopFolder"
                Section="InternetShortcut"
                Name="ProductInternetShortcut.url"
                Key="IconFile"
                Value="PATH_TO_ICON_FILE_ON_WORKSTATION" />
    
            <IniFile Id="url_iconIndex"
                Action="addLine"
                Directory="DesktopFolder"
                Section="InternetShortcut"
                Name="ProductInternetShortcut.url"
                Key="IconIndex"
                Value="0" />
    
            <RegistryValue Root="HKCU" Key="Software\COMPANY\PRODUCT" Name="installed" Type="integer" Value="1" KeyPath="yes" />
        </Component>
    </DirectoryRef>
    <DirectoryRef Id="ProductFolder">
        <Component Id="ShortcutIcons" Guid="{YOUR_GUID_HERE}">
            <File Id="filProductIcons" KeyPath="yes" Source="PATH_TO_ICON_FILE_ON_DEVELOPER_MACHINE" />
        </Component>
    </DirectoryRef>
    </Fragment>
    
于 2014-12-16T15:31:58.853 に答える