“Warning 1946″ message when you install a Windows Installer package in Windows 7
http://support.microsoft.com/kb/2745126/en-us
Windows 7 に Winodws Installer ベース (msi パッケージ) のプログラムをインストールする際のエラーについて、興味深い技術情報を見つけたので解説します。
Windows 8 ではそれ以前の Windows と異なり、インストールされたプログラム (デスクトップのプログラムも含めて) はスタート画面のタイルから起動できます。そのため Windows Installer ベースのプログラムも通常はインストール時にタイルにピン留めされます。Windows 8 に含まれる Windows Installer 5.0 ではこの動作を制御し、インストール時にスタート画面にタイルをピン留めしないような、プログラムのショートカットのプロパティ設定がサポートされています。
これ以外にも Windows 8 (Windows Installer 5.0) からサポートされている、Windows Installer ベースのパッケージのオプションがいくつかあります。
こうしたオプションが設定されているプログラムを Windows 7 やそれ以前の Windows にインストールする際、表題の「警告 1946」が表示されます。ただしこの警告は無視でき、インストール自体は成功します。なぜならこれらのオプションは Windows 8 でのみ利用可能で、設定できなくとも Windows 7 以前のバージョンでの動作には影響しないからです。
もし Windows 8 に対応したプログラムを Windows 7 にインストールする際に「警告 1946 ショートカット’Shortcut name.lnk’ のプロパティ ‘System.AppUserModel.NoPin’ は設定されませんでした.」というよような警告メッセージが表示されても、これは無視することができます。
なお技術情報に書かれているように、この警告を発生させるプロパティは以下の 3 つです
- System.AppUserModel.NoPinToStartOnInstall
- System.AppUserModel.IsDualMode
- System.ItemNameSortOverride
Windows 7 でも警告を表示させないようにするには、msi パッケージを作成する際にこれらのプロパティ名の代わりに以下の GUID を利用します。
GUID | Property name |
{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12 | System.AppUserModel.NoPin |
{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 11 | System.AppUserModel.IsDualMode |
{B725F130-47EF-101A-A5F1-02608C9EEBAC}, 23 | System.ItemNameSortOverride |
カテゴリー:Windows トラブル
