Quantcast
Channel: Hebikuzure's Tech Memo
Viewing all articles
Browse latest Browse all 125

プログラムをインストールすると「警告 1946」が表示される

$
0
0

“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 トラブル

Viewing all articles
Browse latest Browse all 125

Trending Articles