複数ファイルをOPXとしてパックする

Originのワークファイルを他のユーザと共有したい場合、Originのパッケージマネージャの使用がお勧めです。 Zipファイルと同様、パッケージマネージャは必要なすべてのファイルを単一のファイルとしてパッケージし、ほかのユーザに送ることができます。しかし、パッケージマネージャには他にも利点があります。 パッケージマネージャを使うことの大きな利点は、受け取った相手がパッケージをOriginのワークスペースにドラッグ&ドロップするだけて、パッケージ内の複数のファイルをインストールできる点です。 パッケージは、また、アプリボタングループとツールバーをセットし、インストールの前または後でLabTalkを実行することができます。 パッケージは、パッケージマネージャダイアログで簡単にアンインストールできます。

パッケージ・マネージャは、ツールメニューのパッケージ・マネージャを選択すると開けます。

Packaging Multiple Files as an OPX File-1.png

ダイアログボックス

メニュー

パッケージマネージャダイアログには、ファイルメニューとツールメニューがあります。

ファイルメニューには以下の項目があります。

新規作成

新しいパッケージを作成します。現在のパッケージが開いている場合は閉じられます。現在のパッケージが変更され、保存されていない場合、変更を保存または破棄するか、新しいパッケージの作成をキャンセルするように求められます。

開く

既存のパッケージファイルを開きます。現在のパッケージが開いている場合は閉じられます。現在のパッケージが変更され、保存されていない場合、変更を保存または破棄するか、パッケージを開く処理をキャンセルするように求められます。

保存

現在のパッケージを現在のファイル名で上書き保存します。パッケージが新しく、未保存の場合、ファイル名を入力するように求められます。

名前を付けて保存...

現在のパッケージに新しい名前を付けて保存します。

閉じる

ダイアログを閉じます。現在のパッケージが変更され、保存されていない場合、変更を保存または破棄するか、終了処理をキャンセルするように求められます。

ツールメニューには以下の項目があります。

インストール済みパッケージの閲覧...

このメニューを選択すると、インストールされたパッケージダイアログが開き、現在インストールされている全パッケージのリストが表示されます。名前、バージョン、説明などのパッケージについての情報を表示でき、選択したパッケージを開く/アンインストールすることもできます。

パッケージの抽出...

パッケージの抽出は、パッケージのインストールとは異なります。パッケージの抽出は、パッケージからファイルだけ取得する場合に使用されます。前後のスクリプトは実行されません。また、任意のフォルダであるターゲットフォルダを選択するよう求められます。 ターゲットフォルダは、Originのユーザーまたはシステムフォルダである必要はありません。

パッケージのインストール...

ダイアログが開き、パッケージファイルを選択します。パッケージファイルを選択後、開くボタンをクリックして、パッケージをインストールします。

パッケージのアンインストール

このメニューを選択すると、「インストールされたパッケージ」ダイアログが開きます。アンインストールしたいパッケージを選択し、アンインストールボタンをクリックします。

ツリービュー

ツリービューではパッケージの設定を編集できます。

パッケージ
  • 名前
    モジュールの名前。バージョンが変わっても名前は同じにしてください。
    インストール中に、すでにインストールされているパッケージの名前とモジュール名が比較されます。一致するパッケージが見つかった場合、パッケージが既にインストールされていると、ユーザーに通知されます。 インストールを続けるかキャンセルするかを選択します。
  • 説明
    モジュールまたはパッケージの説明です。
  • バージョン
    パッケージに含まれるモジュールのバージョンです。
  • 著者
    パッケージに含まれるモジュールの作成者です。
必要なOriginバージョン

パッケージに含まれるモジュールを使用するのに必要なOriginのバージョンです。バージョンはサービスリリースバージョンまで指定できます。たとえば、「9.32」と入力するとパッケージはV2016 SR2以降が必要であることを示します。

Origin Pro必須

パッケージに含まれるモジュールがOriginProでの利用に制限できます。

アプリ
  • アイコン
    アプリギャラリーでアイコンとして使用するbmp画像です。
  • ツールバー
    アプリツールバーで使用するbmp画像です。
  • スクリプトを実行
    アプリを起動するときに実行するLabTalkスクリプト
  • ウィンドウで可能
    指定したテンプレートから作成されたウィンドウがアクティブになった時、または指定したウィンドウタイプがアクティブになった時に、どのボタンを利用できるようにするかを指定することができます。
  • LabTalk式で有効にする
    指定した変数の値によって、どのボタンを利用できるようにするかを指定することもできます。詳細は、こちらをご覧下さい
ツールバー
  • ボタングループファイル
    パッケージにボタングループファイルが含まれ、パッケージのインストール中にボタングループをOriginのユーザー定義ボタングループに追加する場合は、ボタングループファイルをここで指定します。
    このフィールドを簡単に設定するには、最初にボタングループファイルをパッケージに追加します。追加したら、ファイルのリストでそれを選択し、「ツールバーの設定」ボタンをクリックします。
  • ツールバーを作成
    これは、パッケージのインストール中に、ボタングループからツールバーを作成するかどうかを決定します。
    チェックを付けるとツールバーを作成します。
LabTalkスクリプト
  • インストール前
    ここに入力されたLabTalkコードは、パッケージがインストールされる前に実行されます。LabTalkコマンドエラーが発生すると、インストールはキャンセルされます。スクリプトコードが何らかのチェックを行い、インストールを続行しないと決定した場合、「break 1;」でコマンドエラーを強制することができます。あるいは、OPXERRをゼロ以外の値に設定します。
  • インストール後
    ここに入力されたLabTalkコードは、パッケージがインストールされた後に実行されます。
  • アンインストールの前
    ここに入力されたLabTalkコードは、ファイルがアンインストール/削除される前に実行されます。これを使用して、インストール前またはインストール後のスクリプトで行った変更を元に戻します。 スクリプトコードが何らかのチェックを行い、アンインストールを続行しないと決定した場合、「break 1;」でコマンドエラーを強制することができます。あるいは、OPXERRをゼロ以外の値に設定します。
CおよびCPPファイルの暗号化

必要に応じてチェックをつけると、このパッケージ内のCおよびCPPファイルの暗号化を行います。

ソースパス

このフィールドには、すべてのパックファイルのソースパスが表示されます。パッケージに追加されるすべてのファイルは、同じソースパスにある必要があります。ソースパスは、最初のフォルダーまたはファイルを追加するときに設定されます。

  • 最初のフォルダまたはファイルがアプリフォルダまたはそのサブフォルダからのものであれば、ソースパスはOriginのプログラムフォルダにセットします。
  • 最初のフォルダまたはファイルがユーザファイルフォルダまたはそのサブフォルダからのものであれば、ソースパスはユーザファイルフォルダにセットします。
  • 最初のフォルダまたはファイルがアプリフォルダでもユーザファイルフォルダからのものでもなければ、ソースパスは追加するフォルダの上位のフォルダパスまたは追加するファイルを含むフォルダのパスにセットします。
ファイルの場所が変更された場合は、ソースパスを手動で編集できます。ソースパスの設定を新しい位置に変更すると、パッケージ内の変更したファイルを更新するため、ファイルの再パックボタンが使えるようになります。 ソースパスを変更できると、他のコンピューターで作成されたパッケージを再パックすることもできます。

ボタン

ツリービューの下には6つのボタンがあります。

ファイルの再パック

このボタンをクリックすると、パッケージに追加された全ファイルを再パックします。ファイルを変更したときに、このファイルをパッケージに含めたいときにこのボタンが便利です。ファイルを削除して再度追加することなく、このボタンをクリックするだけでファイルへの変更がパッケージにパックされます。

パッケージに少なくとも1つのファイルがないと、このボタンは有効になりません。

ツールバーの設定

このボタンをクリックして、ツリービューのツールバーブランチにあるボタングループファイルを設定します。

このボタンは、ファイルリストで1つファイルを選択しないと有効になりません。

フォルダの追加...

このボタンをクリックして、選択したフォルダに含まれるフォルダとすべてのファイルとサブフォルダを追加します。

パッケージに最初のフォルダまたはファイルが追加されると、ツリービューにあるソースパスのフィールドが設定されます。 詳細は、ソースパスをご覧ください。

ファイルの追加...

このボタンをクリックして、パッケージにファイルを追加します。 「ファイルをパッケージに追加」ダイアログが表示されます。

パッケージに最初のフォルダまたはファイルが追加されると、ツリービューにあるソースパスのフィールドが設定されます。 詳細は、ソースパスをご覧ください。

ファイルの削除

選択した全てのファイルをパッケージから削除するにはこのボタンをクリックします。

このボタンは、ファイルリストで1つ以上のファイルをファイルリストから選択しないと有効になりません。

一番右にあるボタンをクリックすると、ファイルリストを表示/表示できます。

ファイルリスト

ファイルリストは、現在パッケージにある全ファイルを表示します。上の6つのボタンの左にリスト内のファイルの合計数が表示されます。リスト内のファイルの数と選択されたファイルの数により、上述のボタンのステータスが変わります。

新しいパッケージを作成する

ファイルを追加して新しいパッケージを作成

  1. パッケージの項目にモジュールの情報を入力します。
  2. ファイルの追加 ボタンをクリックして、ファイルをパッケージに追加 ダイアログを開きます。
  3. ファイルを選択して、開くボタンをクリックするかEnterキーを押します。
  4. ファイルメニューの保存名前を付けて保存を選択して、パッケージをOPXファイルに書き込みます。

フォルダを追加して新しいパッケージを作成

パッケージに入れるファイルがすべて同じフォルダにある場合は、フォルダの追加ボタンを使用すると便利です。 これにより、フォルダとその中のサブフォルダを含むすべてがパッケージに追加されます。 フォルダー構造はパッケージに記憶され、パッケージが別のユーザーによってインストールされるときに再作成されます。

  1. パッケージの項目にモジュールの情報を入力します。
  2. フォルダの追加ボタンをクリックし、フォルダを選択ダイアログボックスを開きます。
  3. フォルダを選択して開くボタンをクリックします。
  4. ファイルメニューの保存名前を付けて保存を選択して、パッケージをOPXファイルに書き込みます。
Note:

ボタングループでは、すべてのサポートファイルがOriginフォルダまたはOriginフォルダのサブフォルダーにある必要があります。 インストールしたときにパッケージ内のファイルがアプリフォルダやユーザフォルダで散乱しないように、すべてのファイルをサブフォルダに収めておくことをお薦めします。

新しいアプリを作成する

アプリのために新しいパッケージを作成する方法は、このチュートリアルで紹介しています。

パッケージからファイルを抽出する

パッケージマネージャを使用して既存のパッケージからファイルを抽出できます。

  1. ツールメニューのパッケージの抽出を選択します。
  2. 開くダイアログでOPXファイルを選択し、開くボタンをクリックします。
  3. ターゲットフォルダを選択ダイアログで、ターゲットフォルダを選択し、OKボタンをクリックします。

ターゲットフォルダに全てのファイルが抽出されます。 パッケージにサブフォルダがある場合、全てのサブフォルダが作成され、抽出されたファイルはパッケージに追加されたときと同じサブフォルダ内に配置されます。

Note:

パッケージから抽出されたファイルはインストールパッケージのものと同じではありません。パッケージからファイルが抽出されるとき、ボタングループとツールバーは作成されず、LabTalkスクリプトは抽出されません。ツールバー情報とLabTalkスクリプトは、パッケージがインストールまたはアンインストールされるときのみ使用されます。

パッケージのインストール...

パッケージマネージャを使用してパッケージをインストール

  1. ツールメニューのパッケージのインストール...を選択します。
  2. 開くダイアログでOPXファイルを選択し、開くボタンをクリックするかEnterキーを押します。

パッケージがインストールされます。


ドラッグ&ドロップでパッケージをインストール

  1. OPXファイルをOriginのワークスペースにドラッグ&ドロップします。

パッケージがインストールされます。


グループフォルダを使用してパッケージをインストール

同時ネットワークを使用している場合、パッケージをグループフォルダに置くことで、すべてのクライアントにパッケージをインストールできます。

詳細は、グループフォルダマネージャーを確認してください。


サイレントインストール

サイレントインストールとは、ユーザ介入の操作を最小限にして自動的にインストールを実行することです。インストール手順に非常に多くのロールアウトメッセージが含まれている場合、すべてのメッセージに応答するとインストールに時間がかかる場合に非常に便利です。

サイレントインストールできるOPXを作成するには、次の設定が必要です。

  • LabTalkスクリプト>インストール前の設定を空白に設定するか、ユーザープロンプトを表示しないスクリプトを設定します。
  • LabTalkスクリプト>インストール後で、ユーザープロンプトを表示しないスクリプトに設定し、次の2つの追加コマンドを実行します。
doc -s; 
exit;

OPXへ必要な変更を行い、Originを起動し、OPXをインストールし、人による操作無しでOriginを終了します。 次のコマンドラインは、OPXのサイレントインストールを実行する方法を示しています。

Origin64.exe -h -R "instOPX OPXFileName.opx"

上記のコマンドラインを、自分のOPXのファイル名に変更して使用してください。

Note:
  1. パッケージのインストールは、パッケージからファイルを抽出することとは異なります。パッケージをインストールすると、ツールバーとLabTalkスクリプトのフィールドが指定されている場合、ボタングループとツールバーが作成され、LabTalkスクリプトが実行されます。パッケージからファイルを抽出する場合、ツールバー情報とLabTalkスクリプトは無視されます。
  2. パッケージをインストールする際、Originはまず、そのパッケージが既にインストールされているかどうかを確認します。 既にインストールされている場合、Originはユーザーにパッケージが既にインストールされていることを通知し、インストールを続行するかどうかを尋ねます。 ユーザーがインストールを続行すると選択すると、既存のパッケージをアンインストールしてから、現在のパッケージのインストールを続行します。
  3. Appをインストールする際、このパッケージに含まれているすべてのテンプレート(*.otw,*otm,*otp,etc) とフィッティング関数ファイル(*.FDF)がインストールされています。それらはこのアプリフォルダにコピーされます。このアプリをアンインストールすると、これらも同様にアンインストールされます。
インストールされるパッケージごとに、Originはパッケージファイルをパッケージリストファイルにコピーします。 パッケージリストファイルは、OPXList.xmlで、アプリフォルダに保存されています。

パッケージのアンインストール

パッケージマネージャを使用して、既にインストールされているパッケージをアンインストールできます。

  1. ツールメニューのパッケージのアンインストールまたはインストール済みのパッケージの閲覧を選択します。
  2. インストールされたパッケージダイアログでOPXファイルを選択し、アンインストールボタンをクリックします。

パッケージがアンインストールされます。

OriginC

パッケージマネージャは、OriginC\OriginLab\XMLPackage.cにあるOriginCコードで処理されます。

XMLPackage.cファイルは、パッケージを操作するためにエクスポートされた関数のコレクションを呼び出します。次の関数はoUtils.hで宣言され、OriginのokUtil80.dllからエクスポートされます。

  • okutil_create_package_tree
  • okutil_create_package_file
  • okutil_install_package_file
  • okutil_uninstall_package_file
  • okutil_get_installed_package_names
  • okutil_add_folder_to_package
  • okutil_add_files_to_package
  • okutil_remove_files_from_package
  • okutil_get_packed_file_names
  • okutil_repack_files

関数の戻り型および各関数が受け入れる引数についてはOriginCのUtils.hをご覧下さい。

Origin Cファイルを更新する

すべてのOrigin Cファイルは、コンパイルされると、対応する.OCBファイルをユーザーファイルフォルダに生成します。.OCBファイルは、実行されるたびにOrigin Cソースコードを再コンパイルする必要性をなくします。 Originパッケージを使用してOrigin Cファイルを配布する場合、ユーザが更新されたパッケージをインストールするときに、変更されたOrigin Cファイルが確実に再コンパイルされるようにする必要があります。 つまり、ユーザが古いバージョンのパッケージをインストールしたときにユーザのコンピューターで作成された.OCBファイルを削除する必要があります。 パッケージのインストール後スクリプトのOCBオプションを指定したLabTalkのDeleteコマンドを使用して、.OCBファイルを削除できます。

詳細な説明は、既存のOrigin Cファイルの更新を確認してください。

OPXファイル作成のコマンド

パッケージマネージャを使用せず、ini設定からOPXファイルを作成します。これは、コマンドラインまたはWindowsのBATファイルからOriginを実行するユーザにとっては便利な方法です。

Origin C

#include <Origin.h>
#include <../OriginLab/OPXFile.h>
int test_ini_to_opx()
{
	OPXFile opx;
	int err = opx.InitFromIni("opx_IEVer.ini");
	if( err == 0 )
	{
		if( !opx.Save() )
			printf("Failed saving.\n");
	}
	else
		printf("InitFromIni error %d\n", err);
	return 0;
}

LabTalk

mkOPX ini:="C:\Users\jacqueline\Documents\OriginLab\User Files\opx_IEVer.ini" app:=Custom_IEVer opx:=H:\CustomIEVer.opx;
Note:

この方法には、パッケージマネージャダイアログのすべての設定を含むソースiniファイルが必要です。 例として、以下のopx_IEVer.iniを参照してください。

[Package]
Name=IEVer
Description=Show IE version detected by Origin
Version=1.0
Author=OriginLab
[Origin]
Version=9.4
Pro=0
[App]
Icon=AppIcon.png
ToolbarIcon=
LaunchScript=run.section("%@AIEVer\IEVer.ogs",main);
[AppEnable]
Always=1
Graph=1
Workbook=1
Matrixbook=1
Image=1
Excel=1
Layout=1
LabTalkExp=
[Toolbar]
ButtonGroupFile=
Create=0
[LabTalk]
BeforeInstall=
AfterInstall=
BeforeUninstall=
[Files]
EncryptC=0
SourcePath=C:\Users\eparent\AppData\Local\OriginLab\Apps\IEVer\
OPXFile=IEVer1.opx