< April 2004 | May 2004 | June 2004 >

May 20, 2004

oo4o を使う場合の Oracle Client 最小構成

oo4o Class Library をインクルードした C++ のアプリをテストする環境を構築しようとしたのですが、テスト環境はHDが4.3GB(いまどき!) で、空き容量が600MB、Oracle9i Client (9.2.0.1.0) の「管理者」は798MBもあるため、すべて入れるのは無理な感じでした。以前「ランタイム(193MB)」でインストールして、oo4o が使用できないのは確認済みですが、管理者インストールは見るからに不要なものがいっぱい含まれていますし、多分、「ランタイム」にちょろっと追加すれば動きそうな気はします。そこで、カスタムでインストールできないかと思い、oo4o を使用するには最低限何が必要かということをググってみました。

ビンゴ!は、個人サイトですが、こちら。自分用メモということなので、以下に引用しておきます。

Orecle9i Clientランタイムだけだと接続できない?

CD Packに入っていた「Oracle9i Client」のCDを利用し、インストールタイプはランタイムを選択しました。 インストールも無事終わり、アプリケーションから接続を試みると「ORACLM32.dllが見つからない」のエラーになってしまった。
今度は、インストール時にカスタムを選択し、「Oracle Windows Interfaces 9.2.0.1.0」を追加インストールしたところアプリケーションからの接続ができました。 ODBC経由の接続も大丈夫です。
一見、ランタイムというとoo4oとかODBC関係もインストールされるものと思いましたが、上記のように、Windows専用のインターフェイスが必要ということでした。

とりあえず、インストールはできました・・・が、この空き容量でテスト、、、ですな、、、、、。

May 14, 2004

Visual Studio Installer で作成した msi に含まれるファイルを知りたい

Visual Studio Installer で、たとえば、VB のプロジェクトより、依存ファイルを抽出すると、プロジェクトエクスプローラの ファイル>Project1 の出力>依存関係 以下に "MSVBVM60.MSM" など、拡張子が MSM のファイルが含まれることがあります。これは マージモジュール と呼ばれるもので、DLL や レジストリ情報など、依存モジュールをパッケージングしたものです。当然、実際インストールされる際には内容物が展開されることになるのですが、そのインストーラに含まれる DLL 等の一覧を得たいような場合があると思います。
※ というか、このあいだ、インストールした結果、システムが動かなくなってしまい、アンインストーラも起動しなくなってしまったため、置き換えられたDLLを手動で元に戻す必要があり、結局何が置き換えられたの?という事を調べなきゃいけなかったのです。

以下の方法で、依存ファイルを圧縮形式でなく、ばらばらのファイルとして展開された状態でインストーラを作成することができます。

  1. メニューのプロジェクト>プロジェクト名 のプロパティ を選択します。
  2. 「ビルド」タブを選択し、「パッケージファイル」を「圧縮しない」に変更します。
    # 標準は「セットアップ ファイルに圧縮」だと思います。
  3. ビルドします。

これで出力先に、ばらばらの状態で依存ファイルが格納されます。

May 11, 2004

Microsoft 単語帳 用ブックマークレット

Web 上の IT用語辞典 、みたいな物ってよく使うのですが、Microsoft単語帳 が、ちっちゃいウインドウで開くコンパクト版があって、ひそかにお気に入りだったりします。ただし、コンパクト版の、ブックマークに登録するリンクは用意されていないんですよね。単語帳のホームページには「単語帳 コンパクト版の起動」というリンクがあるのですが、ページの JScript関数 を呼び出すようになっているのみです。そこで、ブックマーク登録用に、JavaScript URLにしてみました。

javascript:window.open( %22http://www.microsoft.com/japan/Terminology/query.asp?ui=S%22, %22compact%22, %22width=300,height=360,titlebar=no,scrollbars=no,menubar=no,toolbar=no,location=no,status=no,resizable=no%22 ).focus();

右クリックして、お気に入りorブックマークに追加することができます。