2012-02-23 4 views
0

私は私のMacアプリケーションのパッケージを作成する必要がある、と私はPackageMakerパッケージメーカーのチェックエラーに

を使用しています、私はJVMのバージョンをチェックする必要があり、10.6その小さい場合、私はinstalltionを中止するものとし、私は、次のシェルスクリプトを

REQUIRED_VERSION=106 
#Converting the value in numeric value for comparison in later part of the script REQUIRED_VERSION=`echo $REQUIRED_VERSION | sed -e 's;\.;0;g'` 
#Redirecting complete output of java -version to tmp.ver file 
java -version >tmp.ver 2>&1 
#Getting current version from the tmp.ver file 
VERSION=`cat tmp.ver | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'` 
rm tmp.ver 
#Coverting into numeric value 
VERSION=`echo $VERSION | awk '{ print substr($1, 1, 3); }' | sed -e 's;\.;0;g'` 
echo $VERSION 
if [ $VERSION ] 
    then 
     if [ $VERSION -gt $REQUIRED_VERSION ] || [ $VERSION -eq $REQUIRED_VERSION ] 
      then 
       echo "requirement matched" 
       exit 1; 
      else 
       echo "lower version" 
       exit 0; 
     fi 
    else 
     echo "not able to find java version" 
     exit 0; 
fi 

を使用していますが、パッケージメーカーに私が通過するには、チェックを入れているが、すべてのケースでその打撃HTEが条件を失敗する、すなわち書かれたタイプは、最初のJVMをインストールするには、そのための
をユーザーに尋ねます正解ではない、誰でも助けてくれる、 "何が正しいだろうかパッケージの製造元がそのスクリプトの合格または不合格を理解することができます。

+0

あなたのビルドインストーラにログを表示すると、 'require matched'、' lower version'、または 'java versionを見つけることができません 'と表示されますか? –

+0

@MichaelDautermann:要件が一致していることを示しています – Amitg2k12

答えて

0

exit 0は、成功を示すためにInstallationCheckスクリプトから返されたものです。

それ以外はエラーを示します。

0さんと1さんのスクリプトを逆にするといいですね。

この回答は、使用している旧バージョンのPackageMakerでは問題ありません。もっと新しいバージョンのPackageMakerがInstallationCheckスクリプトをサポートしているかもしれませんが、current Apple documentation for PackageMakerはこれをまったく言及せず、代わりに "Product Package Requirements Pane"に焦点を当てています(図2-8を参照)。

関連する問題