misc.log

日常茶飯事とお仕事と

テストアプリの配布をシミュレートする(2)

http://d.hatena.ne.jp/frontline/20051116/p1 の続き。

まず、今回のシステムではAPLI Global Memory「ApliGLMem65.exe」という、非.NETライブラリ*1を利用している*2。これを、開発環境(Visual Studio.NET)から参照すると、.NETの衣をかぶせたライブラリファイル、「Interop.ApliGLMem.dll」がプロジェクトのBinフォルダ下に自動作成される。

このファイルは、配布先のアセンブリ、実行形式ファイルを配置するフォルダに置く必要がある。ただ、これだけでは当然だめ。実は衣をかぶせたと表現したが、実際は衣だけ。中身は「ApliGLMem65.exe」のまま必要なので、これも配置。

で、次にこのApliGLMem65.exe。これもそのまま置くだけではダメで、システムに登録する必要がある。ソースが公開されていないので何ともいえなかったのだが、形式がEXEであることから、ActiveX EXEかそのたぐいと思われた。そこで、引数に「 /regserver」を付けて呼び出すバッチファイルと、「 /unregserver」を付けて呼び出すバッチファイルをそれぞれ登録、解除用に用意して呼び出してみたところ、BINGO!。やはりActiveX EXEかソレ系のものだ。登録するとサンプルアプリが起動するし、解除するとエラーで止まる。

ということは、実際にこれを配置する際には、配布先環境でもこの登録作業を行わないといけないということか。Windows InstallerでActiveX EXEの登録をやったことは無いが、できなくは無いだろう。
あ、それから、このApliGLMem65、VBランタイムとかは不要なようなので、実際の配布先は.NET FrameworkだけでOKみたい。いずれにしても製造元は.NETを全然サポートしていないので、勝手に使っているだけ。この文章を読んで何か問題が起きても責任は取れませんのであしからず :-P

続きは http://d.hatena.ne.jp/frontline/20051116/p4

*1:APLI : http://www.apli.co.jp/index.html

*2:この利用については個人的にはやめたいところだが、序盤のテストで使っていたため。