Excelの操作にExcelオブジェクト(COMコンポーネント)を使用しています。私のPCでは正常に動作しますが、アプリケーションをイントラネットに展開すると、次のエラーが表示されます。
次のエラーのため、CLSID {00024500-0000-0000-C000-000000000046}のコンポーネントのCOMクラスファクトリの取得に失敗しました:80070005
web.config
でWindows認証とimpersonate = trueを使用しています。
コンポーネントサービスですべての設定を行いましたが、それでも同じエラーが発生します。
助けてください
アプリをデプロイしたときに同じエラーが発生しました。このサイトから解決策があります: CLSID XXXのコンポーネントは、次のエラーのために失敗しました:80070005アクセスが拒否されました
このソリューションは次のとおりです。
[〜#〜] dcomcnfg [〜#〜]で、マイコンピュータおよびpropertiesを選択します。
COM証券タブを選択します。
アクセス許可で、デフォルトの編集をクリックして追加しますネットワークサービスにそれを与えてローカルアクセス許可を与えます。 <Machine_name>\Usersについても同じことを行います。
起動許可とアクティベーション許可で、デフォルトの編集をクリックして追加それにネットワークサービスを与えて、それを与えるローカル起動およびローカルアクティベーション許可。 <Machine_name>\Usersについても同じことを行います。
*フォーム認証を使用しました。
Windows 2008 ServerとIIS7を使用している場合、対処しなければならない問題がもう1つあります。サーバーは次のエラーを報告する場合があります。
Microsoft Office Excelはファイル 'c:\ temp\test.xls'にアクセスできません。考えられる理由はいくつかあります。
ソリューションはここに投稿されています(ユーザー小川が投稿したテキストを探してください): http://social.msdn.Microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06- 44421818ef91?prof = required
システムに古いExcel.EXE
プロセスがある場合にも、このエラーが発生します(Task Manager --> Processes
タブを使用してこれらを表示します)。
それらすべてのインスタンスを強制終了すると、アプリケーションは正常に動作します。
これは私のためのトリックをしました:( msdn forum からの解決策)
[コントロールパネル]-> [管理ツール]-> [コンポーネントサービス]-> [コンピューター]-> [myComputer]-> [DCOM構成]-> [Microsoft Excelアプリケーション]に移動します。
右クリックしてプロパティダイアログを取得します。 [セキュリティ]タブに移動し、それに応じて権限をカスタマイズします。
[起動とアプリケーションのアクセス許可]で、[カスタマイズ]、[編集]を選択します。アプリケーションを呼び出すユーザー/グループを追加します。
それが誰かを助ける場合:
Windows 7 64ビットを実行していますが、32ビットdllを登録したかったです。
最初に試しました:regsvr32と次のエラーが表示されました:
System.Runtime.InteropServices.COMException(0x80040154):CLSID {A1D59B81-C868-4F66-B58F-AC94A4A7982E}のコンポーネントのCOMクラスファクトリの取得は、次のエラーのために失敗しました:80040154。
次に、コンポーネントサービス(Run-> DCCOMCNFG)を介してアプリケーションを追加しようとしました( http://www.justskins.com/forums/difference-registering-dll-using-regsvr32-and-component-services- 17280.html )次のエラーが発生しました:
System.UnauthorizedAccessException:CLSID {A1D59B81-C868-4F66-B58F-AC94A4A7982E}のコンポーネントのCOMクラスファクトリの取得は、次のエラーのために失敗しました:80070005。
それを解決するための多くのリンクがありますが、私のために働いたのはコンソールルート->コンポーネントサービス->コンピュータ->マイコンピュータ-> COM +アプリケーション->your_application_name->プロパティ:[セキュリティ]タブ:承認:[このアプリケーションのアクセスチェックを強制する]のチェックを外します。
私はそれが何をするのか分かりません。
あなたの痛みを理解できます。私の場合、以下の手順を実行することでエラーが解決されました。
お役に立てれば。
説明するCLSIDは、Microsoft.Office.Interop.Excel.ApplicationClass用です。このクラスは、基本的にInprocServer32を介してExcel.exeを起動します。インストールしていない場合は、上記で受け取ったエラーメッセージが返されます。
IIS 8の場合、基本的にMonicと同じことをしました。x64マシンで独自のアプリケーションプールとしてアプリケーションを実行しています。DCOMCNFGで、[マイコンピューター]を右クリックしてプロパティを選択します。
2. [COM証券]タブを選択します。
3. [アクセス許可]で、[デフォルトの編集]をクリックし、iis apppool\myappを追加して、ローカルアクセス許可を許可します。 iis apppool\myappについても同じことを行います
4.起動とアクティベーションのアクセス許可で、[デフォルトの編集]をクリックし、iis apppool\myappを追加して、ローカル起動とローカルアクティベーションのアクセス許可を付与します。 iis apppool\myappについても同じことを行います。
さらに、C:\ Windows\SysWOW64\config\systemprofile\Desktopの下に説明されているフォルダーを作成し、iis apppool\myappに対する読み取りと書き込みのアクセス許可も付与する必要がありました。