1

マネージコード.dllカスタムアクションがアプリケーションとともにインストールされたInstallShield2010基本MSIインストールがあります。カスタムアクションは、.NET 3.5でビルドすると機能しますが、4.0でビルドすると失敗します。

マニュアルにCLRバージョンの設定への参照がありますが、MSIで実際に設定する方法がわかりません。

すべての助けに感謝します。

編集1

.NETバージョン4でCAビルドを実行する単純なMSIを実行しました。ここでは、ログから選択されたいくつかの興味深いものを示します。

プロパティ(S):RedirectedDllSupport = 2

プロパティ(S):MsiWin32AssemblySupport = 5.1.2600.5512

プロパティ(S):MsiNetAssemblySupport = 4.0.30319.1

...。

MSI(c)(0C:10)[12:12:15:689]:CAインターフェイスのサービスに接続されています。

InstallShield:CLRが正常にロードされました

InstallShield:アセンブリの読み込み[#v4.dll]

InstallShield:アセンブリファイルキー[#v4.dll]を解決しています。

InstallShield:-C:\ Program Files \ My Company Name \ My Product Name\V4.dllに解決されました

InstallShield:パスC:\ Program Files \ My Company Name \ My Product Name\V4.dllからアセンブリを読み込んでいます

InstallShield:管理されたカスタムアクションアセンブリを読み込めません[#v4.dll]:ファイルまたはアセンブリを読み込めませんでした'file:/// C:\ Program Files \ My Company Name \ My Product Name \V4.dll'またはそのいずれか依存関係。このアセンブリは、現在ロードされているランタイムよりも新しいランタイムによってビルドされ、ロードできません。

アクションは12:12:15に終了しました:v4Test。戻り値3。

...。

4

2 に答える 2

1

共通言語ランタイムアセンブリをサポートするシステムでは、WindowsインストーラーはMsiNetAssemblySupportプロパティをユーザーのコンピューター上の.NETFrameworkバージョンの最新バージョンに設定します。バージョンのMsiNetAssemblySupportプロパティを確認し、CAで必要な場合はより高いバージョンをインストールできます。

于 2012-12-11T17:41:00.620 に答える
0

InstallShieldの「ManagedAssembly」でこれを機能させることができませんでした。インストールにはまだInstallShieldを使用していますが、WiX DTF(Deployment Tools Foundation)カスタムアクションを使用しており、バージョン間で正常に機能します。

于 2013-01-18T17:35:55.060 に答える