Hebikuzure's Tech Memo

2013年7月13日

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

Filed under: Windows トラブル — hebikuzure @ 8:23 PM

“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

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com Blog.

%d人のブロガーが「いいね」をつけました。