アンマネージド中間媒体を使用せずにインストーラから管理コード(.net)で書かれたカスタムアクションdllをどのように呼び出すことができますか?カスタムアクションDLLを管理コード
答えて
.NET/Windowsインストーラでこれが正確にサポートされています
VS.NETを使用してアセンブリを作成します。 インストーラクラスをプロジェクトに追加します。「Add - New Item」を選択します。インナークラスを選択します。 このクラスはSystem.Configuration.Install.Installerから派生しています。それはInstall()のような多くの仮想メソッドを持っています。これは、インストール時にWindowsインストーラエンジンによって呼び出されます。
このアセンブリは、カスタムアクションとしてWindowsインストーラプロジェクトに追加できます。カスタムアクションを.NETインストーラクラスとして宣言する方法は、インストールを作成するために使用するツールによって異なります。
申し訳ありません、これは少し簡単です。
は、私はあなたの特定の状況についての詳細を知っていたいが、アドバイスの一般的な作品として、あなたは管理対象外/管理の相互運用性に関する問題のためのC++/CLIに見えるかもしれません:
C++: The Most Powerful Language for .NET Framework Programming
私は経験から知っていますアンマネージドコードをC++/CLIプロジェクトに「持ち上げて」どこのC#/ .NET /マネージコードからでも使用できますが、マネージコードをC++/CLIプロジェクトにリフトすること、それをいくつかのアンマネージドコードとリンクさせ、従来のアンマネージDLL(またはインストーラバイナリ)として公開します。これがC++/CLIで可能かどうかはわかりません。
質問に対する回答は、インストーラの作成方法によって異なります。
Visual Studioセットアッププロジェクトの場合、展開されたアセンブリの1つにインストーラクラスを作成します。これはMSDNのドキュメントに記載されています。例えば、http://msdn.microsoft.com/en-us/library/d9k65z2d(VS.80).aspx
Wixプロジェクトでは、DTFを使用して、MSIのコンテンツに完全にアクセスできる管理されたカスタムアクションを構築できます。 Wixはhttp://wix.sourceforge.net/で入手できます。
ヤレド - これをどのように達成したかに関する情報を提供できますか?
BLOCKQUOTE
私はあなたの特定の状況についての詳細を知っていた希望が、アドバイスの一般的な作品として、あなたは管理対象外/管理の相互運用性に関する問題のためのC++/CLIに見えるかもしれません: C++を: .NET Frameworkプログラミングの最も強力な言語 アンマネージドコードをC++/CLIプロジェクトに「持ち上げて」どこでもC#/ .NET /マネージコードから使用できますが、実行したいと思うことは経験からわかっています反対:管理されたコードをC++/CLIプロジェクトに持ち上げて、それをいくつかのアンマネージドコードにリンクし、それを従来のアンマネージドとして公開しますDLL(またはインストーラバイナリ)。これがC++/CLIで可能かどうかはわかりません。
BLOCKQUOTE
私は今、この問題での問題で立ち往生しています。私は標準的なVC VCで動作するプロジェクトを持っていますが、私はそれをC++/cliの世界に取り込もうとしています。私が抱えている主な問題は、CoCreateInstance()呼び出しでInterfaceをロードできないことです。
- 1. dllのバインディングasp.net(dllのバージョン管理)
- 2. .NETでのアセンブリDLL管理
- 3. 複数のDLLリソース管理
- 4. 管理対象コード内のアンマネージDLLからビットマップファイルをロード
- 5. 管理コード&ドキュメント
- 6. unity3dに管理DLLを追加する
- 7. 非管理者特権を持つMSI C++カスタムアクション
- 8. Djangoの管理者用ホームページにカスタムアクションを追加しますか?
- 9. EEFileLoadException管理DLLにC++ DLLをロードするとき
- 10. Windows 10ロードdll非管理方法
- 11. VB6コード管理ツール
- 12. wixカスタムアクションdllからの戻り値
- 13. 管理DLLとアンマネージDLLの違いは何ですか
- 14. 複数の.NETプロジェクトで共通DLLのバージョン管理を管理する方法
- 15. Linux(モノ)で混在モード(管理/非管理)dllを使用する
- 16. Access VBAコードのバージョン管理?
- 17. TFSコードのバージョン管理
- 18. コードの自動セマンティックバージョン管理
- 19. Djangoの管理サイトでカスタムアクションを作成する(リストアクションではない)
- 20. 終了カスタムアクションからのインストール(管理対象アセンブリ内のパブリックメソッド)戻り値
- 21. asp.netでセッション管理コードを最初に
- 22. 管理されたDLLをアンマネージドLibにリンクする
- 23. DLLを使用した多型のタイムドイベントのメモリの管理
- 24. 管理DLLのネイティブコードを再初期化する方法
- 25. 管理されたDLLを.net 4.0アプリケーションに注入
- 26. MavenとDLLの依存関係を管理する
- 27. DLL(管理対象および非管理対象)内の関数のリストを取得する方法は?
- 28. ネイティブVC++ 6アプリケーションで管理されたDLL
- 29. C実行可能ファイル、管理対象COM dll、.Net GUIのマージ
- 30. コード管理のための中央リポジトリ
私はあなたがまだ見ていた場合、これはとても大変役に立つと感じましたhttp://blog.torresdal.net/2008/09/03/WiXAndDTFIntroduction.aspx – Terrance