2

VS2010で.Net4.0VSTO Excelアドインを開発し、ClickOnceを介して展開しています。私たちのデプロイ可能なものはWindowsXPでは問題ないようですが、Windows 7にインストールすると非常に問題があります。問題はすべて、Excelを介してアドインを削除する必要がある場合に関連しているようです(つまり、Excelによってソフト削除されています[たとえば、障害などのため] ]そしてそれはExcel|オプション|アドイン|管理|COMアドインダイアログを介してユーザーによって'削除'されます。

上記は、上記が発生した後にアドインが再インストールされ、Excel内で公開されない状況につながります。つまり、Excelの[アドイン]タブ(通常、1つ以上のアドインがインストールされている場合に表示されます)は永久に消えます。アドインインスタンスの名前をその場で変更/削除しているため、開発/デバッグ中はさらに問題になります。そのため、Windows7でのVSTOの開発は不可能になります。

アドインは完全に削除された(無効にされた)リストには含まれていないことに注意してください-削除されました。インストール/再インストール/アンインストール、再起動、レジストリアイテムの削除(キャッシュのクリーンアップ/アンインストール後)、C:\ Documents and Settings \\ Local Settings \ Apps \ 2.0からのファイルシステムファイルの削除、キャッシュのクリア(経由Mageおよび/またはrundll32(Mageなしで.NETでダウンロードされたアプリケーションキャッシュをクリアしますか?)XPとWindows7では動作に明らかな違いがあるようです。

誰かが同様の問題を抱えていましたか?

私が見ることができる唯一の代替案は、完全に吹き飛ばされたMSIを使用した展開プロジェクトですが、これはそれほどきちんとしたものではありません-ローカル管理者アクセスなどが必要です


トラビスに感謝します

4

3 に答える 3

1

私の経験から、私の制作プロジェクトの1つでは、MSIも使用しました。また、一度クリックするだけの問題は回避されました。だから私の答え-はい、MSIプロジェクトまたはMSIをインストールする必要があります。また、MSIインストールでは、デフォルトのMSIプロジェクトまたは外部(WixやWiseインストーラーなど)を使用できます。カスタムインストーラーを使用する2番目の方法は、はるかに困難です。

削除する状況では、キャッシュとレジストリからメイジと手動削除アドインを使用しました。それは役に立ちますが、ハックのように見えます。

また、VSTO ClickOnceを扱うときは毎回、不明確な場合は、いくつかの外部ライブラリを使用することを考えました。残念ながら、プロジェクトが必要なため、サードパーティを使用して作業を簡単にする機会はありません。しかし、あなたはチェックして試すことができます。Add -in-Expressライブラリは、特に優れたテクニカルサポートがある場合に役立ちます。

于 2013-03-24T17:03:29.527 に答える
1

Clickonceを使用したOfficeソリューションの公開に関するチュートリアルについて読んだことがあるかどうかはわかりません。まだお持ちでない場合は、以下のリンクから見つけることができます。読む価値があります。

http://msdn.microsoft.com/en-us/library/vstudio/bb772100(v=vs.100).aspx
http://msdn.microsoft.com/en-us/library/vstudio/bb608591(v= vs.100).aspx

Windowsインストーラーの使用に関しては、特にVisual Studio 2010セットアッププロジェクトでは、それほど難しくはありません。これらすべてをガイドできる非常に詳細なチュートリアルがあります。Excelアドインを展開しようとしたときに、非常に役立ちました。何らかの形で役立つことを願っています。

http://msdn.microsoft.com/en-us/library/ff937654.aspx

また、Clickonce / Windowsインストーラーを使用することが正しい選択であるかどうかを判断するために、これらの質問を自問することもできます。

展開テクノロジの選択に関しては、1つのオプションだけに制限する必要はありません。重要なのは、適切な仕事に適切なツールを選択することです。単一のルールや簡単な答えはありませんが、特定のニーズに最適な決定を下すために使用できる一般的なガイドラインがいくつかあります。

  • アプリケーションはCOMコンポーネントをインストールしますか?
  • アプリケーションはCOM-Interopのコンポーネントを登録する必要がありますか?
  • アプリケーションはサービスをインストールしますか?アプリケーションを特定の場所にインストールする必要がありますか、それともグローバルアセンブリキャッシュ(GAC)にインストールする必要がありますか?
  • アプリケーションには、オペレーティングシステムまたはランタイム環境に基づいて条件付きでインストールされるコンポーネントがありますか?
  • アプリケーションはインストール時にユーザー入力を必要としますか?
  • アプリケーションには、ActiveDirectoryやCOM+などのシステムレベルのサービスの構成が必要ですか?
  • アプリケーションがインストールされた後、ファイルを作成したり、レジストリに書き込んだり、アプリケーションが削除されたときにリソースを残すような方法でシステムに影響を与えたりしますか?

これらの質問のいずれかに「はい」と答えた場合は、Windowsインストーラーがニーズに最適です。ただし、上記のリストで説明されているシナリオに対処する必要がない場合は、ClickOnceが展開ソリューションの優れた候補です。ClickOnceが提供する明確な利点を活用したい場合は、アプリケーション設計プロセスの早い段階でClickOnceの機能を理解することが重要です。ClickOnceを使用してアプリケーションの初期バージョンを展開した後、遅ればせながらWindowsインストーラーに移行する必要があることに気付くと、慎重な事前計画によって回避できる困難なアップグレードパスが作成されます。

于 2013-03-25T06:50:36.610 に答える
0

私たちが見つけたのは、Windows 7のVSTOでClickOnceを機能させる方法は、Excel内でこれを行うことでした。

  • プログラムの追加と削除:アンインストール
  • Excel | オプション| アドイン| COM | 行け
  • 追加| ClickOncesetup.exeを参照します| OK | 等
  • Excelを閉じます
  • Excelに入る
  • アドインが表示されます

プログラムの追加と削除のアンインストール(バージョン管理)で遊ぶことができると確信しているので、ユーザーは必ずしも手動でアンインストールする必要はありません

ClickOnceは、動作するときはgr8です-そこに到達するための旅であり、大きなスタイルを強化する必要があります

于 2013-05-21T22:51:59.167 に答える