• ベストアンサー

カスタムコントロールのOCAファイルについて

ドメイン環境で、複数の端末を複数のユーザーが使うことを想定しています。 VBはカスタムコントロールを追加したときに、同じディレクトリに拡張子がOCAのファイルを作ります。 説明を見ると、キャッシュのようです。 しかし、UsersにはC:\WINNT\SYSTEM32への書きこみ権がありません(与えません)。 VBでカスタムコントロールを追加したとき、キャッシュが書き込みができないせいか、何も言わずに落ちてしまいます。 これの回避策などをお持ちの方いたら、ぜひご教授ください。 ---- Windows 2000 SP2 Visual Studio 6.0 SP5

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

ん?ネットワーク上のOCX? どこにセットアップしたのでしょうか? OCXをみんなが書き込み権限の持つパスへインストールをするという意味なのですが・・・ ディストロビュージョンはOCX系のインストールパスを指定できませんでしたっけ?(できたと思ったのですが・・・) それならVisual Studio Installerを使用してみてはいかがでしょう。 自作EXE以外の付属コンポーネントのインストールパスを指定できたと思います。 そして C:\OCXフォルダなどを作り、そこの権限を緩めてやるなどの処置をしてあげないと・・・ それがだめなら、コントロールを自作したほうがいいと思います。 使用したいコントロールは何ですか? ちと不安に思ったのですが・・・ OCXをネットワーク上に置いて使用しているわけではないですよね? 具体的に、OCXのインストール先と、そのフォルダの権限状態などの環境が知りたいです。

haporun
質問者

お礼

返事が遅くなってすみません。 >どこにセットアップしたのでしょうか? Visual Studioが自動的にインストールするC:\WINNT\SYSTEM32です。 インストーラうんぬんではなく、最初から登録されているOCXを使用することに問題があるのです。

その他の回答 (2)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

使用するOCXのパス情報はVBPに記されております。 EXEにしたときも、最初にEXEがOCXを探す場所は、アプリケーションパスを見ます。 ですのでSYSTEM32に入ったままでいいので、管理者権限で (1)使用したいコントロールを含んだプロジェクトを作成 (2)それをコンパイルして、セットアップを作成する。 そのとき関連ファイルは、「C:\WORKDIR\」にセットアップさせるように指定する。 (3)インストールを行う。 (4)「C:\WORKDIR\」の権限を最低レベルまで落とす。 このようにすることで同じOCXが、一つのパソコンに複数存在するようになります。 それ以降は開発ディレクトリを「C:\WORKDIR\」として行うとできます。 実験済みですよ。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

使用したいOCXに関連するファイルを、アプリケーションパス(開発パス)にコピって、そちらを参照設定にしてみては? それで動かないなら、別マシンで必要なコンポーネントを搭載したプロジェクトを作って、ディストリビューションでセットアップを作り、関連ファイルを全て権限を持つ場所にインストールさせるとか・・・・ 何にせよ、参照先を変える必要があると思うので、参照するコンポーネントの位置を変える方法で何とかなると思います。(未検証)

haporun
質問者

お礼

返事が遅くなってすみません。 この方法は試してみました。 ネットワーク上のプロジェクトのパスにOCXをコピーして参照設定するまではいいのですが、そのあと端末を代えてプロジェクトを読み込むと、同じように死んでしまいます。 作成されるOCAファイルは、どうもユーザーごと、端末ごとに違うらしく、それが書き込みできないと、落ちてしまうようです。 だから >ディストリビューションでセットアップを作 もおそらく意味がないようです。

関連するQ&A

  • Visual C# 2008カスタムコントロール

    Visual C# 2008カスタムコントロール Express Editionにはついてないのでしょうか? 会社のVisual Studioにはついてたのですが

  • コントロールについての質問

    みなさんこんにちは。 WinNT(SP6)・VB6.0(SP5)の環境で開発を行っているのですが、以下のような現象が起きていて困っています。 ・一部のコントロールで、オブジェクト名を変えようとすると『このフォームにこれ以上のコントロールを作成できません。』というエラーメッセージが表示される ・新規にコントロールを追加しようとしても同様のメッセージが表示される どうしてもオブジェクト名が変えられなくて困っています。ちなみにコントロールの数は数え切れないほどあり(少なくても100個以上)、その辺に問題があるのかとも思いますが・・。 どんな情報でもいいので、どなたか教えていただけませんか?よろしくお願いします。

  • カスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

    タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。 よろしくお願いします。

  • フォーカスを持たないユーザコントロール

    ユーザコントロールにラベルをひとつ貼り付け、 ラベルを機能拡張したユーザコントロールを作成しているのですが、このコントロールはフォーカスを持たないようにしたいのです。 よろしくお願いします。 Win2K SP4 + VB6 SP6

  • ユーザコントロールのイベント取得について(C#)

    環境:Visual Studio 2005 C# Windows Application フォームに自作のユーザコントロールを貼り付けてそのイベントを取得する勉強をしているものです。 フォームでのユーザコントロールイベントを取得して処理をする方法が分かりません。 状況 ユーザコントロールにはテキストボックスを追加しています。 また、フォームにそのユーザコントロールを追加しています。 確認したいことは、ユーザコントロールのテキストボックスになにか値を入力したタイミングでチェンジイベントをフォーム側で察知し、処理をするというものです。 どなたか、要点だけでもいいので教えていただけないでしょうか? 宜しくお願いいたします。

  • カレンダーコントロールの使用について

    Win2000ProにVB6.0をインストールして使っています。 administratorではカレンダーコントロールが追加できるのに、一般ユーザでは カレンダーコントロールが追加できません。 一般のユーザでカレンダーコントロールを使用できるようにするにはどうすればいいでしょうか。

  • VS2008(ASP.NET)で、コントロールを複数選択するには?

    Visual Studio2008 ASP.NETについての質問です(言語:Visual Basic) VS2005のASP.NETでは、Ctrlキーを押しながらコントロールオブジェクトをクリックすると、コントロールオブジェクトを複数選択することができました。 今回、VS2008の評価版、「Visual Studio 2008 Professional Edition」をダウンロードしてASP.NETを動かしてみましたが、上記の操作でコントロールオブジェクトを複数選択することができません。 質問内容は、VS2008のASP.NETで、コントロールオブジェクトを複数選択するにはどのような操作が必要か、というものです。 (例えば、テキストボックスを複数選択し、一括で文字列を右詰にしたい、などの処理を行いたいと考えています) 以上、どうぞよろしくお願い致します。

  • フォーム画面の作成

    VB6のユーザーコントロールと同じものをVisual Studio 2008 C++でリソースを作成したいのです が、プロパティ操作のように簡易作成できるようなツールはございますか? また、VB.NETで同様なことをするにはどのようにな手順で作成するのでしょうか?

  • VB.NETのユーザコントロール

    VB6.0のユーザコントロールはコンパイルすると OCXになり、レジストリに登録しないと使用できません。 VB.NETでもユーザコントロールの作成は可能だと思いますが、これはOCXではないのですよね? で、やはりレジストリに登録する必要があるのでしょうか? 単なるプロジェクトへのファイル追加だけで使えるようになればいいんですけどねー

  • VBをアンインストールするには?

    VBをアンインストールするにはどれを削除すればいいでしょうか? プログラムと追加には ・Microsoft Visual Basic 2008 Express Edition SP1-日本語 ・Microsoft Visual C++ 2005 Redistributable ・Microsoft Windows SDK for Visual Studio 2008 SP1 Express Tools for.NET Framework -jpn ・Microsoft Windows SDK for Visual Studio 2008 SP1 Express Tools for Win32 があります。 C++なのにアイコンがVBなので これを全部アンインストールすればいいですか? よろしくお願いします。 (当方vistaです。)

専門家に質問してみよう