1

さて、私はac#activeXコントロールを構築していて、プロセス中に本のすべての問題に遭遇しました...そうは言っても、インストーラーを除いてすべてが二乗されました

問題自体を詳しく調べる前に、セットアッププロセスがどのように機能しているか、およびこのルートを選択した理由を説明する必要があります。

  1. セットアップexeを保存する署名付きCABファイルがあります。このファイルは、オブジェクトタグを使用してWebページから読み込まれます。
  2. セットアップexeは、InstallShield LEプロジェクトであり、プロジェクトが埋め込まれています(つまり、インストールされるファイルは、最終的なセットアップバイナリの一部です)。
  3. CABファイルにはINFファイルが含まれており、呼び出し元にsetupexeを実行してコントロールをインストールするように指示します。

このプロセスは正常に実行され、セットアップアプリケーションが起動します。これにより、コントロールが正常にインストールされます。ただし、セットアッププロセスの終わり近くに、管理者ではないユーザーは、次のことを示すエラーメッセージを受け取ります。

An error occurred while copying file myINFFile.inf

Cannot copy file to destination directory.

Click Retry to retry the operation or click Cancel to

(はい、「to」という単語の後に切り落とされます)

再試行を押すと、キャンセルを押すまでエラーを何度も繰り返すだけです。キャンセルを押すと、「このエラーが発生してもセットアップを続行しますか?」という効果が表示され、コントロールが正常にインストールされます。

このエラーは権限が制限されたユーザーにのみ発生するため、問題は、cab抽出プロセスがinfファイルを抽出しようとしている場所に抽出できないことだと思います...このファイルは他の目的を果たさないため、特に非常に迷惑ですインストールプロセス中ですが、問題が発生している理由や回避方法がわかりません...

4

1 に答える 1

2

Process Explorer(Microsoft / SysInternalsによる)を使用して、書き込まれているファイルを確認します。

私の推測では、ActiveXコントロールのユーザーごとのインストールを許可するようにセットアップを適切に作成していません。

(Robert Petzによる)次のフックをINFファイルに追加すると、正しく実行され、許可された場所にタクシーが抽出されます。

 [Deployment]
     InstallScope=user 
于 2012-12-10T21:57:35.913 に答える