問題タブ [regasm]
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 - Windows Server 2008 での IPHLPAPI.DLL の問題
API GetIPAddrfromTable スタックを使用するアプリケーションをインストールしようとしています。アプリケーションを起動すると、「Procedure entry point not found in IPHLPAPI.dll」というエラーが表示されます
dllファイルがかなり古いことに気づいたので、置き換えてみましたが、Windows Server 2008では、管理者であってもsystem32フォルダーにファイルをコピーすることはできません。
sfc を実行しようとすると、IPHLPAPI.DLL が更新され、新しい DLL を登録しようとしましたが、「モジュール iphlpapi.dll が読み込まれましたが、エントリ ポイント DLLRegisterServer が見つかりませんでした。有効な DLL または OCX ファイル」です。
エラー メッセージを検索してみましたが、regasm の使用について何か書かれていますが、「エラー RA0000 : 有効な .NET アセンブリではないため、読み込みに失敗しました」というエラーが表示されます。
これはアクですか
c# - VS C#2010で作成されたCOMオブジェクトの登録
昨日、C#でCOMオブジェクトを作成した結果、VS2010プロジェクトのbin/ releaseディレクトリに3つのファイル(comclass.dll、comclass.pdb、comclass.tlb)が作成されました。これで、プロジェクトでソリューションをビルドすると、VSが開発用PCにクラスを自動的に登録し、PowershellなどからCOMオブジェクトとそのメソッドに問題なくアクセスできるようになりました。ただし、3つのファイルを別のマシンにコピーして、dllをzippy32に登録しようとすると、次のように表示されます。
モジュール「comclass.dll」がロードされましたが、エントリポイントDllRegisterServerが見つかりませんでした。
「comclass.dll」が有効なDLLまたはOCXファイルであることを確認してから、再試行してください。
.tlbファイルのパラメーターを使用regasm
すると/tlb
、同様のメッセージが表示されます。だから私は少し困惑しています。誰かが私がここからどのように進むべきか知っていますか?
.net - Regasm - 入力アセンブリが見つかりません
.NET アセンブリを作成し、Regasm を使用してローカル マシンに正常に登録しましたが、ターゲット サーバーでそれを実行しようとすると、次のエラーが発生します。
Regasm :エラー RA0000 : 入力アセンブリの "完全な dll パス" またはその依存関係の 1 つが見つかりません。
私のローカル マシンは Windows XP 32 ビット マシンで、サーバーは 32 ビット Windows 2003 サーバーです。
regasm に次のコマンドを使用しています: Regasm "full file path" /tlb:filename.tlb
ここで何が欠けているか知っている人はいますか?
ありがとう。
com - WXS で、別のコンポーネントを介してインストールされたファイルを参照するにはどうすればよいですか?
この質問は、heat.exe からの出力に関するものです。MSI での COM 相互運用のためにいくつかの .NET アセンブリを登録することに関して、私は「正しいこと」をしようとしています。Regasm.exe は間違っています。
簡単で「ほとんど」動作する regasm.exe を直接呼び出すことは、明らかに良い考えではないと Rob Mensching 氏は述べています。そのブログ投稿では、なぜそれが良い考えではないのかを説明し、非常に簡単な解決策も提供しています。残念ながら、2004 年の投稿は、現在非推奨またはサポートされていない wix 機能を示唆しています。そこに記載されている解決策はもはや有効ではないと思いますが、そのブログ投稿に記載されている問題は残っています.
問題の「正しい」解決策は、heat.exe を実行してから、ディレクトリ参照などを「修正」することです。それは非常に簡単に聞こえますが、私がやろうとしていることです。
わかりました、だから私は正しいことをしようとしています。また、アセンブリを GAC したくないので、codebase
引数を使用して COM 登録を行う必要があります。heat.exe の出力には、次のようなものが含まれます。
最初の質問: とは正確には何Value="file:///[#fil4B562083D141F5A2F29E28A1BD09AF3E]"
ですか?
それはfil4B562083D141F5A2F29E28A1BD09AF3E
Wix によって生成された Id のようです。ID は .wxs ファイルの File 要素に属し、名前付き .NET クラスを含むアセンブリ (DLL) へのパスを参照します。では、オクトソープは何のためにあるのでしょうか。そして角括弧?そしてfile:///
プレフィックス?この構文を理解するのを手伝ってください。
私が尋ねる理由 - 私はこの ID を使用したくありません。ファイルの実際の意味を反映するファイル ID を既に持っていますが、それは違います。
しかし、問題のファイルは別のコンポーネントにインストールされています。そのファイルを参照しようとすると、次のようなエラー メッセージが表示されます。
これを解決するにはどうすればよいですか?
File
このコンポーネントには、同じファイルシステム ファイルを参照する別の要素は必要ないと思います。別のコンポーネント (同じ機能) と共に既にインストールされています。どのように参照できますか?
基本的に のような要素が欲しいのですFileRef
が、それは明らかに存在しません。
visual-studio-2008 - VB6 プロジェクトでタイプ ライブラリ (.tlb) を使用すると、ActiveX オブジェクトの作成が失敗する
C# Visual Studio 2008 から dll ファイルと tbl ファイルを作成しました。
Regasm AssemblyName.dll /tlb: FileName.tlb /codebase
ローカルサーバーに登録します。
tlb 参照を使用します。それをコンパイルすると、私の開発用 PC で問題なく動作します。
exe を作成した後、別の PC で実行すると、「ActiveX はオブジェクトを作成できませんでした」というエラー メッセージが表示されます。
展開先のマシンごとに Regasm が必要ですか?
展開 PC に Visual Studio がない場合はどうなりますか? Regasm が見つかりません。
regasm - WebSetUp with COM Registration
I have a c# asp.net website project in a solution (VS 2008). In this solution, there are 6 c# class library projects, each have wcf service classes.
All the 6 class library projects dlls are referred in the asp.net website project and it is shown in the bin directory. So this asp.net website is our hosting server for our wcf services. One of my c# class lib project is using a C++ dll, which calls another C# COM dll in application. So this C# COM dll is registered as COM using Regasm.exe and C++ is loaded using P/Invoke and it all working in the development environment.
Now, I want to make the set up of this server application and needs to host it in the IIS 7.5 (Win 7 32 bit OS). I downloaded the Web Deployment tool from the internet and created the setup using VS Web Setup and Deployment project. I am not able to register the C# COM dll in the installing machine through the SetUp.
In the setup project, I added the C# COM dll (myCOM.dll). When I added the myCOM.dll in to the Web folder of the web setup project, it adds 2 another files such as myCOM.DLL and myCOM.tlb along with myCOM.dll.
I tried the following methods:
First Method:
I deleted the myCOM.DLL and myCOM.tlb. Then I selected the myCOM.dll and set the Register vsdrCOM in the property pane.
Then I installed in a machine. but myCOM.dll is not registered and tlb file is not generated in the Application Folder/bin folder. I don't know WHY ???
Second method.
I created a batch file, which contains the command for registering the dll from the current location of the batch file, which is shown below:
ECHO registering starts...
PAUSE
Regasm.exe "myCOM.dll" /tlb:myCOM.tlb \codebase --> [this will generate the tlb in the same location of myCOM.dll]
Then I created a custom installer and added this installer as a custom action in the set up project. [Install custom action]. In this installer class, I overrided the Install method and wrote code for executing the batch file from the location C:\inetpub\wwwroot\MyApp\bin.
Then I tried to install it in a machine. When it installs, the console window of the batch (cmd) appears for a second and suddenly cmd window closes. When the installation completes, i looked the c:\inetpub\wwwroot\MyApp\bin folder, there is nothing.
What could be the problem with my installation ???
Please throw some light on this.
dll - nsis スクリプトで regasm を使用して同じマクロで 2 つの dll:s を登録するにはどうすればよいですか?
これらのパラメーターを取るマクロを使用して、2 つの dll:s を登録しようとしています。
!macro RegisterWithRegAsm フラグ実行可能 typeLib
私は次のようにマクロを呼び出します。
!insertmacro RegisterWithRegAsm "" "Dll1.dll" "Dll1.tlb" !insertmacro RegisterWithRegAsm "" "Dll2.dll" "Dll2.tlb"
問題は、マクロを 1 回しか実行できないことです。2 回目には、NSIS が既にラベルを宣言していると不平を言います。
inst__: StrCpy $R1 '$R0${DOT_NET_VERSION_2_SP2}\RegAsm.exe "$INSTDIR\${APP_NAME_COMPACT}\${executable}" /codebase /tlb:"$INSTDIR\${APP_NAME_COMPACT}\${typeLib}" /静けさ'
このラベル (および u_inst_) をマクロの外に移動して、複数回使用できるようにするにはどうすればよいですか?
A参考になる良いサイトをご存知の方はいらっしゃいませんか?nsis の Web ページを見ましたが、複数の dll 処理への参照が見つかりません。
アイデアをありがとう!
.net - Regasm.exe を使用して AssemblyFile を完全に登録解除する方法
次のコマンドを試して、AssemblyFile の登録を解除しました。
ただし、次のようなレジストリ エントリは残ります。
では、左のエントリを自動的に削除する方法はありますか? どうも
.net - プログラムのインストーラーで regasm.exe を見つけるにはどうすればよいですか?
私のプログラムは regasm.exe .net クラスによって登録されたものを使用します。私のコンピューターではregasm.exeはC:\WINDOWS\Microsoft.NET\Framework\v4.0.30319フォルダーにありますが、別のコンピューターでは ...\v4.0.1234 または ...\v4.2.1234 にある可能性があります。
プログラムのインストーラーを作成できるように、どこにあるのかを知るにはどうすればよいですか?
excel - Excel DNA - 一緒にレガズムを避けることはできますか?
Excel DNAを評価して、Excel アドインの 1 つで使用しようとしています。C# 関数 (.NET 4.0) を使用しており、これらの関数を Excel から呼び出したいと考えています。私が興味を持っている理由は、私のアドインのユーザーは管理者ではないため、アドインを機能させるために、.NET dll で regasm を実行しない解決策を見つけることができれば、ブレークスルーになるからです。
次のように、ワークシート関数 (単純な戻り値の型と引数をprivate string Add (int a, double b)
使用) のようなものである場合は、次のように理解しています。また、 VBA からApplication.Runを使用してこれらの単純な関数を呼び出すこともできることを理解しています。
しかし、API に複雑な型が含まれていて、これを VBA から使用したい場合、そのアセンブリと型を再処理する必要がありますか? 次のような例:
または、Excel DNA に、 regasm や regsvr32 なしで VBA でそのような種類の関数を使用できる方法はありますか?
ありがとうマニ