MySQL 5.1 が ベータの頃インストーラは存在せず、手作業で行っていましたが、
結局インストーラはたいした事はしないので、手作業で USB にインストールする事は
そんなに難しくありません。
最初の1度だけインストーラを使用して、必要なファイルを一箇所にあつめてアンインストールすると、
インストール済みセットが手に入ります。
my.ini ( basedir の中にあります )
拡張子:
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
innodb_data_home_dir="C:/MySQL5126/"
USB のリムーバルドライブ内の SERVICE\MySQL5126 に
インストール済みセットが入っているとします。
以下のスクリプトを リムーバルドライブ内の好きな場所に置いて、
エクスプローラから実行します
( ここでの前提条件は、 U ドライブが使用されていない事です )
INSTALL.vbs
拡張子:
Set WshShell = CreateObject( "WScript.Shell" )
str = WshShell.CurrentDirectory
strDrive = Left( str, 2 )
Call WshShell.Run( "subst U: " & strDrive & "\SERVICE", 0, True )
str = """U:\mysql5126\bin\mysqld.exe"" --install-manual MySQL5126 --defaults-file=""U:\mysql5126\my.ini"""
Call WshShell.Run( str, 0, True )
' **********************************************************' サービス( MySQL5126 )' **********************************************************
Set objWMIService = _
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colRunningServices = _
objWMIService.ExecQuery("Select * from Win32_Service Where DisplayName = 'MySQL5126'")
For Each objService in colRunningServices
if objService.State = "Stopped" then
objService.StartService()
end if
Next
以下は、サービスと実行環境のアンインストールです
拡張子:
Set WshShell = CreateObject( "WScript.Shell" )
' **********************************************************' サービス( MySQL5126 )' **********************************************************
Set objWMIService = _
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colRunningServices = _
objWMIService.ExecQuery("Select * from Win32_Service Where DisplayName = 'MySQL5126'")
For Each objService in colRunningServices
if objService.State = "Running" then
objService.StopService()
end if
Next
str = """U:\mysql5126\bin\mysqld.exe"" --remove MySQL5126"
Call WshShell.Run( str, 0, True )
Call WshShell.Run( "subst U: /D", 0, True )