注意:セットアッププロジェクトはVisual Studio 2012からサポートされなくなりました。
Visual Studio 2005ではセットアッププロジェクトのInstallAllUsersプロパティにより、「すべてのユーザー」がデフォルトとなるように変更することができます。しかし、VS.NET 2003以下で作成したMSIファイルではデフォルトが「このユーザーのみ」に固定されており、変更できません。まずはこのデフォルトを「すべてのユーザー」に変更する方法を紹介します。
まずデフォルトの設定を変更するために、Windows Installerのプロパティ、ALLUSERS Propertyを2とします(注)。(Windows Installerプロパティを設定する方法の詳細は、こちらをご覧ください。)
注:ALLUSERSを1とした場合は「すべてのユーザー」インストールができない環境ではエラーが発生します。ALLUSERSを2とすることにより、「すべてのユーザー」としてインストールできない時に「このユーザーのみ」としてインストールされるようにできます。「すべてのユーザー」としてインストールできない環境では、「すべてのユーザー/このユーザーのみ」チェックボックスは表示されないようになっていますので、ALLUSERS=2で問題ないでしょう。
また、ダイアログのチェックボックスがデフォルトで「すべてのユーザー」となるようにするために、Propertyテーブルの「FolderForm_AllUsers」のValueを「ME」から「ALL」に変更します。
以上を変更して保存すればOKです。
補足:Visual Studioで作成されるMSIファイルでは、チェックボックスで指定された設定を調べてALLUSERSの値を設定するようになっています(「すべてのユーザー」の場合はALLUSERSが2となります)。ただしこれは「次へ」ボタンが押された時に行われるため、サイレントインストールなどでは実行されません。よってここでは、FolderForm_AllUsersだけでなく、ALLUSERSのデフォルトも変更しています。
(この記事は、「.NETプログラミング研究」の第61号で紹介したものを基にしています。)
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。