人気ブログランキング | 話題のタグを見る

AdobeReader9.4.1をグループポリシーでインストール

Adobe Reader 9.4.1 が出ました。
下記にグループポリシー(+バッチファイル)でインストールするための方法を記載します。

概要


msi形式だったら普通に配布できるんですが、msp形式(msiのパッチパッケージ)なので普通には配布できません。
バッチファイルで、コンピュータポリシーのスタートアップスクリプトに組み込んでやる方法を書きます。

作成時に注意したこと


msiでの配布と違って毎回インストール処理が入ってしまって起動が遅くなる恐れがあるのでその辺を考慮しないとマズイです。
インストールしたらインストール済みというログファイルを作り、そのログがある場合はインストール処理をしないようにして対応してます。

ログ機能


どのPCにいつインストールして、結果がどうだったかを記録するようにしてあります。
バッチファイルと同じ場所にログファイルを作るようにしてます。
バッチファイルを置いてある場所の、LOG\[更新ファイル名].log って名前です。
(事前にLOG フォルダは作成しておいて、かつアクセス権を与えておく必要があります)

詳細は下記にて。




設定方法


1. ファイルのダウンロード


http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Windows
などで 9.4.1のmspファイルを入手します。
MUI版と普通のがありますが、日本語の場合どっちでもいいみたい。
今回は、AdbeRdrUpd941_all_incr.msp をインストールすることとして説明します。

ダウンロードしたら、念のためファイルのプロパティを開いて、ブロックの解除をしておいたほうがいいかも。
AdobeReader9.4.1をグループポリシーでインストール_e0051410_1525525.jpg


2. 共有フォルダに置く


ポリシーのフォルダとか、NETLOGONフォルダに共有フォルダを作成し、そちらにコピーしましょう。
ここでは \\Servername\NETLOGON\AdobeReader9.4 フォルダとして説明します。
で、同じフォルダにバッチファイルも新規作成しておきます。
ここでは、Update.bat として説明します。

2-2. LOG フォルダの作成


Update.batなどを置いたフォルダに、LOG というフォルダを作成してください。
また、アクセス権に Domain Computers が書き込みできる権限を与えておきましょう。

インストールが行われたPC,日時,結果がフォルダ内に記録されるようになります。
(ログが不要であれば作成する必要はありません)

※注意※
Windows Server 2008 上の共有フォルダへは、匿名でのアクセスは禁止されたそうです。
そのため既定の状態ではログが記録できません。
下記の記事を参考にして対応してください。

Windows Server 2008 のファイル共有への 匿名アクセス を有効にする方法 - Windows Live

3.バッチファイルの作成


Update.bat を編集して、下記のバッチファイルをコピペします。
set _MSPFILE=AdbeRdrUpd941_all_incr.msp
set _SKIPLABEL=SKIP1
set _MSPFILE_FULLPATH=%~dp0%_MSPFILE%
set _LOGFILE=%windir%\%_MSPFILE%.log
if exist "%_LOGFILE%" goto %_SKIPLABEL%
if not exist "%_MSPFILE_FULLPATH%" goto EOF
"%_MSPFILE_FULLPATH%" /passive
if %ERRORLEVEL%==0 (
set _RESULT=Success!
echo [%DATE% %TIME%] %_RESULT%> "%_LOGFILE%"
) else (
set _RESULT=Failed..
)
echo [%DATE% %TIME%] %_RESULT% at %COMPUTERNAME%>> "%~dp0LOG\%_MSPFILE%.log"
:SKIP1


3-1. バッチファイルの解説


読み飛ばしてもokですが、いちおう解説。

*1行目
mspファイルのファイル名を指定。

*2行目
インストールをとりやめる際のスキップ先のラベル(15行目)のラベル名を記述。

*3行目
msp形式のファイルの絶対パスが入る。
%~dp0 はupdate.bat のあるフォルダの絶対パスが展開される。つまり %~dp0 は
\\Servername\NETLOGON\AdobeReader9.4\
として解釈される。

*4行目
ローカルのログファイル名の指定。
この例だと C:\Windows\AdbeRdrUpd941_all_incr.msp.log となる。

*5行目
インストール済みを示すローカルログファイルがある場合にはパッチの適用をキャンセル。

*6行目
mspファイルが実際に存在してなければバッチファイルを終了する。

*7行目
mspファイルをサイレントインストールする。
> /passive
msp形式のファイルをサイレントインストールするためのおまじない。

*8行目
インストールが正常に終了したか確認。
(正常終了の場合は %ERRORLEVEL% は 0 になる)

*9行目
ログに記録する、成功結果を表す文字を指定。

*10行目
インストール済みを表すローカルログファイルの作成。

*12行目
ログに記録する、失敗結果を表す文字を指定。

*14行目
Update.batのあるフォルダ内のLOGフォルダにある [mspファイル名].log に
[2010/11/17 12:00:00.00] Success! at コンピュータ名
のように記録する。

*15行目
スキップ先のラベル。

4.グループポリシーの作成


コンピュータポリシーのスタートアップスクリプトに、上で作成したUpdate.batを指定する。
(詳細な説明はしない)

5.クライアントPCを起動


起動時に自動的にインストールが実行されます。
グループポリシーがちゃんと行き渡ってなかったり、共有フォルダのアクセス権がデフォルトから変更してたりするとうまくいかないかもしれません。

6.サーバのアップデートログを確認


2-2 の手順が適切に行われていれば、ログファイルが作成されています。
Update.batと同じフォルダにある、LOG フォルダの AdbeRdrUpd941_all_incr.msp.logを見てみましょう。
成功/失敗の記録が見られます。
AdobeReader9.4.1をグループポリシーでインストール_e0051410_15255877.jpg


7.次のアップデートが出たとき


Adobe Reader 9.4.2が出た場合には、Update.bat を追記して一部編集すれば動作します。
編集箇所はできるだけ少なくなるようにしてます。

例 )9.4.2もインストールさせたい場合


1. ダウンロード


9.4.2のmspファイルをダウンロードします。
おそらくファイル名は AdbeRdrUpd942_all_incr.msp となりますので、それを前提に説明します。
これをUpdate.batと同じフォルダにコピーしておきます。
(念のためブロックの解除もしておく)

2. バッチファイルを編集


Update.bat を下記のように編集します。

set _MSPFILE=AdbeRdrUpd941_all_incr.msp
set _SKIPLABEL=SKIP1
set _MSPFILE_FULLPATH=%~dp0%_MSPFILE%
set _LOGFILE=%windir%\%_MSPFILE%.log
if exist "%_LOGFILE%" goto %_SKIPLABEL%
if not exist "%_MSPFILE_FULLPATH%" goto EOF
"%_MSPFILE_FULLPATH%" /passive
if %ERRORLEVEL%==0 (
set _RESULT=Success!
echo [%DATE% %TIME%] %_RESULT%> "%_LOGFILE%"
) else (
set _RESULT=Failed..
)
echo [%DATE% %TIME%] %_RESULT% at %COMPUTERNAME%>> "%~dp0LOG\%_MSPFILE%.log"
:SKIP1

set _MSPFILE=AdbeRdrUpd942_all_incr.msp
set _SKIPLABEL=SKIP2
set _MSPFILE_FULLPATH=%~dp0%_MSPFILE%
set _LOGFILE=%windir%\%_MSPFILE%.log
if exist "%_LOGFILE%" goto %_SKIPLABEL%
if not exist "%_MSPFILE_FULLPATH%" goto EOF
"%_MSPFILE_FULLPATH%" /passive
if %ERRORLEVEL%==0 (
set _RESULT=Success!
echo [%DATE% %TIME%] %_RESULT%> "%_LOGFILE%"
) else (
set _RESULT=Failed..
)
echo [%DATE% %TIME%] %_RESULT% at %COMPUTERNAME%>> "%~dp0LOG\%_MSPFILE%.log"
:SKIP2


これで9.4.2にも対応します。
灰色部分は前とまったく同じで、残りの黒字部分はそれをコピーしてて、赤字部分の3箇所だけ編集してあります。
9.4.3も同様に追記して、必要箇所を修正するだけで対応できます。

8.細かい動作について


8-1. AdobeReader9.4がインストールされていない環境ではどういう動作になる?


サーバログに Failed として記録されます。
9.4はソフトウェアポリシーで配布してください。

8-2. すでにユーザーが9.4.1のパッチを適用していた場合にはどうなる?


いちおうパッチの適用が実行されます。
サーバには Success として記録されます。
2度目以降はローカルログファイルが作成されているため、パッチの適用はされなくなります。

8-3. このバッチで9.4.1適用後に、ユーザーがAdobeReader9.4自体をアンインストールしてたらどうなるの?


アンインストール時にローカルログファイルは消去されてないので、更新は適用されなくなります。
サーバログにも何も記録されません。
すみませんが、これはいまんとこ対応してません。
(技術的にはレジストリを見に行けば可能ですが、ぶっちゃけそこまでするのはメンドクサイので)
by golorih | 2010-11-17 15:26 | バッチファイル


システム関連の個人的な備忘録。基本的にWindows関連です。

プロフィール

関連


Memoる

一生懸命だと知恵が出る
中途半端だと愚痴が出る
いい加減だと言い訳が出る

「やりたい」なんて言葉は使う必要が無い。「今やってる」「もうやった」「やらないことにした」なら使って良い。
まずは相手を好きになる、その次に相手のいい部分を探す、そして評価できる部分を見つける。それからです、誉めるのは。

カテゴリ

全体
ソフトウェア関連
ソフトウェア開発
Linuxサーバ
その他
Webサービス
MySQL
システム管理
test
バッチファイル
つぶやき
パソコンメーカー
jQuery
レビュー
実験と検証
セキュリティ対策
YahooPipes
vbs
ハードウェア関連
WordPress
JavaScript
HTML&CSS
Welcart
未分類

以前の記事

2022年 08月
2021年 06月
2020年 12月
2019年 11月
2019年 04月
2019年 03月
2019年 02月
2018年 10月
2018年 09月
2018年 01月
2017年 12月
2017年 10月
2017年 09月
2017年 07月
2016年 12月
2016年 10月
2016年 08月
2016年 07月
2016年 04月
2016年 03月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 03月
2015年 01月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2011年 11月
2011年 10月
2011年 09月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2010年 12月
2010年 11月
2010年 10月
2010年 09月
2010年 08月
2010年 07月
2010年 06月
2010年 02月
2009年 12月
2009年 10月
2008年 12月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2007年 12月
2007年 11月
2007年 08月
2007年 07月
2005年 09月
2005年 08月

フォロー中のブログ

その他のジャンル

ファン

記事ランキング

ブログジャンル

ネット・IT技術

画像一覧