2012年12月30日日曜日

AppInventor Portable for Windows(仮) Part5

AppInventor Portable for Windows(仮)シリーズもついにPart5まで来ました。

Part4の(追記)についてもう少し詳しく書きます。

これまではUSBメモリにあるAppInventorセットアッププログラム群を本来のインストール場所からのシンボリックリンクを作成することでBlocksEditorに認識させていました。

BlocksEditorは毎回毎回この位置のチェックを行なっているワケではなく、一度場所が確定すると

%USERPROFILE%\.appinventor\appinventordirectorycache

にAppInventorセットアッププログラム群のフォルダ位置が記録されます。

ということであれば、バッチファイルを起動した際に上記のファイルにUSBメモリのフォルダ位置を書き込んでおけばわざわざシンボリックリンクを作成する必要も無くなります。

この方法で実現すればXP環境のためにlinkd.exeをコピーしたりする手間も省けます。





この仕組みに基づくバッチファイルを以下に貼り付けます。

・AIPortableLite.BAT

@echo off
:STARTING
set JAVA_HOME=%~dp0\jdk1.6.0_37_32
set STPATH=%PATH%
set PATH=%JAVA_HOME%\bin;%PATH%
set AIDIR=%USERPROFILE%\.appinventor
set AIDIREXIST=0
IF EXIST "%AIDIR%" (
    set AIDIREXIST=1
)
IF %AIDIREXIST% == 1 (
    GOTO CONFIG
) ELSE (
    mkdir "%AIDIR%"
    echo.%~dp0AppInventor\commands-for-Appinventor>> "%AIDIR%\appinventordirectorycache"
)
:CONFIG
assoc .jnlp=JNLPFile
ftype JNLPFile="%JAVA_HOME%\jre\bin\javaws.exe" "%%1"
pause
:END
set PATH=%STPATH%
set JAVA_HOME=
ftype JNLPFile=""
assoc .jnlp=
IF %AIDIREXIST% == 0 (
    rmdir /S /Q "%AIDIR%"
)


このバッチファイルでWindowsXPとWindows8 Enterprise評価版での動作を確認しました。

なお、過去にAppInventorセットアッププログラムがインストールされBlocksEditorを起動したことがあるマシンだとユーザホームに.appinventorフォルダが残っているケースがあります。このフォルダがあるとUSBメモリからの起動ができませんので、事前に該当フォルダを削除しておいてください(削除していない場合は正しく動きません)。

問題点等ありましたらコメントでお知らせいただければ幸いです。

(追記)
上記バッチファイルをGitHubで公開しました。
AIPortableHome.bat

0 件のコメント:

コメントを投稿

おすすめ書籍