Windows 7 の Windows インストーラー パッケージをインストールするときにメッセージを「警告 1946」

適用対象: Windows 7 EnterpriseWindows 7 Home BasicWindows 7 Home Premium

現象


Windows 7 を実行しているコンピューターに Microsoft Windows インストーラー (.msi) パッケージをインストールすると、次のような警告メッセージが表示されます。
1946 を警告します。ショートカット'ショートカット名.lnk' 'System.AppUserModel.NoPin' プロパティを設定できませんでした。
ただし、インストール処理は成功です。

この問題は、.msi パッケージの MsiShortCutProperty テーブルのショートカットのプロパティを次のいずれかに設定されている場合に発生します。
  • System.AppUserModel.NoPinToStartOnInstall
  • System.AppUserModel.IsDualMode
  • System.ItemNameSortOverride

原因


この問題は、Windows インストーラーは MsiShortcutProperty テーブルで指定されているショートカットのプロパティを設定できないために発生します。

Windows 8 では、次のプロパティが導入されています。これらのプロパティは、Windows 7 またはそれ以前のバージョンの Windows には存在しません。
  • System.AppUserModel.NoPinToStartOnInstall
  • System.AppUserModel.IsDualMode
  • System.ItemNameSortOverride
したがって、Windows インストーラーは、Windows 7 でショートカットにこれらのプロパティを適用するときに警告ダイアログを表示します。

状況


これは仕様による動作です。 この警告メッセージを無視できます。

開発者向けの詳細


Windows 8 と Windows 7 の両方を実行するのには、.msi パッケージを作成するときは、その名前を使用して、ショートカットのプロパティの情報を指定しません。代わりに、その GUID を使用して、プロパティを指定します。PropertyKey テーブルの列に、MsiShortcutProperty プロパティを設定できます。次の表には、各プロパティの GUID が含まれています。
GUIDプロパティ名
{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}、12System.AppUserModel.NoPin
{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}、11System.AppUserModel.IsDualMode
{B725F130-47EF-101A-A5F1-02608C9EEBAC}、23System.ItemNameSortOverride

関連情報


Windows インストーラーの詳細については、次の Microsoft Developer Network (MSDN) web サイトを参照してください。MSI インストールおよびログ オプションの詳細については、次の MSDN web サイトを参照してください。MsiShortcutPropertyTable の詳細については、次の MSDN web サイトを参照してください。ショートカット テーブルの詳細については、次の MSDN web サイトを参照してください。