DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

「すべてのユーザー」がデフォルトになるようにする

注意:セットアッププロジェクトは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 Tipsをご利用いただく際は、注意事項をお守りください。