Welcome to MSDN Blogs Sign in | Join | Help

シリーズ RDS : ユーザーごとのインストール (Windows Installer 5.0)

環境 :
Windows Server 2008 R2 (または Windows 7)
Visual Studio 2008 

こんにちは。 (N スぺのようなタイトルですみません、、、)

エバンジェリスト高添 もセミナーなどでご紹介していますが、Windows Server 2008 R2 / Windows 7 におけるさまざまな連携シナリオの中の RDS (Remote Desktop Services) について、ここでは "開発者視点" でご紹介したいと思います。(セミナーの仕込み中ですが、時間が足りるか不安なのでブログに書いておくことにしました、、、)

Windows Server 2008 R2 / Windows 7 では、マシンの仮想化 (Hyper-V)、シンクライアント的な VDI シナリオに加え、"第 3" のシナリオとして RDS (従来のターミナルサービス) による複数クライアントからの利用シナリオがあり、この点でも大幅な機能強化がおこなわれています。
今回は、そうした数多くの RDS 関連の改善ポイント (例えば、RemoteApp において、Server Manager の起動など、タスクスケジューラのタスクが実行されないように抑制する仕組みなどもあります) の中で、開発者にとっても興味深い 2 つのシナリオをご紹介します。

シリーズ RDS :

なお、ここで述べるテクノロジー (次回ご紹介する内容も含め) は、下記の互換性セミナーなどでも講師の方もご紹介してくれている内容ですので、今後もこうした機会を活用し、新しい OS を有効利用してください。(セミナーなどでは広く紹介されてきた新機能です)

Windows 7 & Windows Server 2008 R2 互換性セミナー :
http://www.microsoft.com/japan/powerpro/ftd/windows7/default.mspx

Windows Installer 5.0 : Per User Installation の概要 

Windows 7 / Windows Server 2008 R2 から導入されている Windows Installer 5.0 では、実はいくつかの新機能がありますが、中でも、ここでご紹介するユーザーごと (Per-User) のインストールサポートは、特に上記の RDS のシナリオで有効活用できます。

新しい msi (Windows Installer) では、MSIINSTALLPERUSER という新しいプロパティを使用することができ、下記の説明の通り、MSIINSTALLPERUSER プロパティを 1 に設定することで、"いままでとは違った" ユーザー単位のインストール方法を提供することができます。(この場合、下記の説明にもありますが、ALLUSERS プロパティを 2 に設定しておく必要があります。)

What's New in Windows Installer 5.0 :
http://msdn.microsoft.com/en-us/library/dd408114(VS.85).aspx

MSIINSTALLPERUSER プロパティ :
http://msdn.microsoft.com/en-us/library/dd408007(VS.85).aspx

簡単な動作確認 

例えば、特別な設定やカスタムアクションをおこなわない簡単な .msi パッケージ (インストーラパッケージ) を Visual Studio などで作成してみましょう。

そして、Windows 7 または Windows Server 2008 R2 上で、以下の通りコマンドを入力して、インストーラを実行してください。


msiexec /i MatsuSetup1.msi ALLUSERS=2 MSIINSTALLPERUSER=1


すると、 下図の通り、インストール開始の画面が表示されます。

ここで、インストール先のパス名に注目してください。ユーザーフォルダがデフォルトで選択されているのがわかります。

この状態で [次へ] ボタンを押してインストールを続けると、インストールがはじまっても、いままでのようにインストール時に昇格ダイアログは表示されず、インストールのすべてを完了させることができます。(まるで ClickOnce インストールのようです、、、)

このように、単一のインストーラパッケージで、マシンへのインストールと、ユーザー単位のインストールの複数のインストール方法が可能であり、RDS のように 1 台のマシンに複数の目的の異なるユーザーがログインして使用するケースでは有効です。(もちろん、それ以外の目的でも活用できます。)

ただし、もちろん、依存コンポーネント (.NET Framework など) があって、それがインストールされていないケースでは、
あらかじめ管理者権限で依存コンポーネントのインストールが必要になるなど、作り方によって、さまざまなポイントが存在しますので注意してください。(ここでは、あくまでも簡単なサンプルを示したのみです。)

次回は、クライアントレンダリングです。


 

Published Wednesday, June 24, 2009 2:49 PM by tsmatsuz
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker