問題タブ [regfreecom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - OCX を登録せずに使用する
最初にocxをregsrv32に登録せずに、winformでocx(ActiveXコントロール)を使用することは可能ですか(おそらくプログラムで追加します)?
私が達成しようとしているのは、xcopy インストールを有効にすることです。「AxInterop..dll 」および「 Interop..dll 」ファイルを開発マシンから生成しました。
ocxもCOMベースであるため、最初に登録せずにCOM dllを呼び出す可能性を見てきました(ProSysLib、著者によると、まだテストしていません)。それもやってください。
com - 実行時に COM ライブラリを登録する方法は?
COM コンポーネントをインストールし、インストーラーがそれらを登録するアプリケーションを開発しているとしましょう。これはうまくいきます。
現在、ソフトウェアはメモリースティックから実行する必要があります。ライブラリ ランタイムを登録し、アプリケーションの実行後にレジストリがクリーンアップされるようにするにはどうすればよいですか?
deployment - vb6 xcopy の展開
vb6 (COM dll の ocx および exe) であるレガシー アプリケーションを Regfree COM を使用するように変換する方法を教えてください。
Visual Studio で dll を開いてマニフェスト ファイルを作成しようとしましたが、いくつかの dll でエラーが発生しています。
このプロセスを実行するのに役立つツールはありますか?
マニフェストを完全に作成していない regsvr42 と呼ばれる codeproject のツールを試しました。
すべての typelib 情報を取得する PE エクスプローラーなどのツールを使用しましたが、それらをマニフェスト ファイルに変換するのは難しすぎます。
それを .NET に移行し始めました。数か月間、展開する必要があります。xcopy ベースの展開であれば、より簡単になります。
.net - Reg-Free COM が機能しない
レガシ COM コンポーネントの展開を容易にするために、Web アプリケーションで Reg-Free COM を使用できるかどうかを確認しようとしています。ただし、Interop の状況での使用などを検討する前に、簡単なテストを実行することはできません。これが私がやったことです:-
1) 新しい VB ActiveX DLL プロジェクトを作成します。バイナリ互換性をオンにすることを除いて、すべてのオプションをデフォルトのままにしました。「SayHello」という簡単なメソッドを持つクラスを追加しました。
2) Vs.NET 2008 (SP1) で新しい c# コンソール アプリを作成します。CPU を x86 に設定し、COM DLL への参照を追加しました。
3)参照用に「Isolated」をオンにしました
4)C#コンソールアプリからSayHelloメソッドを呼び出します-すべて機能します。
5) regsvr32 /u を使用して COM dll を手動で登録解除
します。 6) コンソール アプリを再度実行してみます。COM 登録情報が見つからないため、アプリは COM エラーで失敗します。マニフェストが存在することを確認できます(以下に貼り付けます)
それが違いを生む場合、私はこれをVista、64Bitで実行しています。
ご指摘ありがとうございます。
vb6 - VB6 に app ディレクトリの DLL と OCX を強制的に使用させるにはどうすればよいですか?
依存ファイルを app ディレクトリに配置したいと考えています。
VB6にローカルディレクトリのファイルのみを使用させることができることを覚えているようです。
ヒントはありますか?
c# - .Net CCW 登録不要の COM でイベントなし!
VB6 プログラムから使用している COM Callable Wrapper がありますが、CCW が登録されていない限り、プログラムは COM イベントを受信しません。それ以外の場合、CCW は正常に動作します。プログラムのマニフェスト ファイルを削除し、「regasm /tlb /codebase theccw.dll」を使用して CCW を登録するまで、イベントは発生しません。これは WinXP SP3 にあります。
何が問題なのですか?
私のCCWは、「初期バインド」VB6オブジェクトとして使用するには間違って構築されている可能性があります。ここに私の宣言があります:
ひとつ、わかったことがあります。TheComClass 内のパブリック イベント宣言に [ComVisible(true)] 属性がありません。物事が登録されたときにイベントを取得するので、それは問題ではないと思いますが、わかります...
com - 登録不要の COM のマニフェスト ファイルを生成する
グローバル COM 登録を必要とせずに完全に分離して展開できるように、マニフェスト ファイルを使用するいくつかのアプリケーション (ネイティブ、.NET) があります。たとえば、dbgrid32.ocx com サーバーへの依存関係は、myapp.exe と同じフォルダーにある myapp.exe.manifest ファイルで次のように宣言されます。
dbgrid32.ocx は、独自の dbgrid32.ocx.manifest ファイルと共に同じフォルダーに展開されます。
これはすべて正常に機能しますが、これらのマニフェスト ファイルを手動で維持するのは少し面倒です。これらのファイルを自動的に生成する方法はありますか? 理想的には、COM サーバー (ネイティブと .NET の両方) のリストに対するアプリケーションの依存関係を宣言し、残りを自動的に生成したいと考えています。出来ますか?
com - 登録不要の COM を HTA アプリケーションで使用することはできますか?
HTA アプリケーションは MSHTA.exe 内でホストされているため、マニフェストを提供するにはどうすればよいでしょうか? さらに、MSHTA.exe.manifest を提供すると、他の HTA アプリが壊れる可能性があると思いますか?
vb6 - VB6 でのリモート デバッグ
VB6 の外部で開始されたプロセスをリモートでデバッグすることは可能ですか?
アプリケーションは、かなりの数の dll/ocx リソースを備えた VB6 アプリケーションです。登録不要の COM を使用して VB6 アプリの ClickOnce 展開をセットアップしようとしていますが、実行時にエラーが発生しています。
VB6がCOM登録をリダイレクトする方法についての私の理解は、おそらくこれが不可能であることを意味しますが、誰かがより良い考えを持っていると思いました.
.net - .NET コンポーネントで登録不要の COM をうまく使っている人はいますか?
最近まで、私たちはネイティブおよび .NET COM コンポーネントに登録不要の COMを喜んで使用していました。しかし、リリース候補からリリースに移行するために .NET アセンブリのバージョン番号を変更しただけで、アプリケーションが Windows XP SP3 (vista ではなく) でランダムにクラッシュし始めるという奇妙な問題に遭遇しました。(マーフィーの法則が嫌いなだけ?)
多くの工数が失われ、歯ぎしりをした結果、この問題は、.NET クラスに関する情報を取得するときにヒープの破損を引き起こすsxs.dll の既知のバグであることがわかりました。問題を解消するホット フィックスがありますが、ホット フィックスは再配布を目的としていません。
登録不要の COM 実装にこのような恐ろしいバグがあることに、私たちは少し困惑しています。登録不要の COM for .NET コンポーネントを使用して成功した人はいますか? この問題をどのように回避しましたか?