COM の登録作業


  regsvr32.exe による登録



処理としては以下のプロセスになります

1) COM が登録されているかどうかチェック
2) 登録されていなければ 6) へ進む
3) 登録されているパスで実際存在するかどうかチェック。存在すれば 5) へ進む
4) 存在しない場合はその場所へ登録ファイルをコピー
5) regsvr32.exe /u で登録を解除
6) システムディレクトリへ登録ファイルをコピー
7) コピー先のパスで regsvr32.exe を実行

  
ErrMessage = "インストールに失敗しました。システム権限で実行して下さい"
EndMessage = "インストールが完了しました"
nNextStep = 1

' ----------------------------------------------------------
' COM
' ----------------------------------------------------------
strProg = "Lbox.dll"
nStep = 1
strTarget = IsComExist( "Lbox.BatchHelper" )
if strTarget = "" then
	nNextStep = 6
end if

nStep = 3
if nStep >= nNextStep then
	WScript.Echo strProg & _
		" を既に登録されているパスで存在チェック"
	if Fso.FileExists( strTarget ) then
		nNextStep = 5
	end if
end if

nStep = 4
if nStep >= nNextStep then
	WScript.Echo strProg & _
		" を登録されているパスへコピー (" & _
		strTarget & ")"
	Call Fso.CopyFile( strProg, strTarget )
end if

nStep = 5
if nStep >= nNextStep then
	strCommand = "regsvr32.exe /u """ & strTarget & """"
	WScript.Echo strProg & _
		" が正しく登録されているのでいったん登録解除 (" & _
		strCommand & ")"
	' 実行終了を待つ
	Call WshShell.Run( strCommand,,True )
end if

nStep = 6
if nStep >= nNextStep then
	strTarget = GetSystemDirectory( )
	WScript.Echo strProg & _
		" をシステムディレクトリへコピー (" & _
		strTarget & ")"
	if strTarget = "" then
		WScript.Echo ErrMessage
		WScript.Quit
	end if
	Call Fso.CopyFile( strProg, strTarget & "\" & strProg )
end if

nStep = 7
if nStep >= nNextStep then
	strCommand = "regsvr32.exe """ & strTarget & "\" & strProg & """"
	WScript.Echo strProg & _
		" をシステムディレクトリの登録ファイルで登録します (" & _
		strCommand & ")"
	' 実行終了を待つ
	Call WshShell.Run( strCommand,,True )
end if

WScript.Echo EndMessage
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ