0

私は展開の問題に直面しています。私はWPF applicationwithを構築し、正常に動作する (msi) をvisual studio 2008作成しました。しかし、それに更新を追加するのは面倒です。windowsclient.net でこの記事を見たことがありますが、かなり古いようですが、私にとっては完璧なものだったかもしれません。 installerautomaticupdater block v2.0enterprise library june 2005

もっと最近のエンタープライズ ライブラリを使用する必要があると思ったのでinstalled and compiled Enterprise 4.1(october 2008)、何もうまくいきませんでした。展開を試すことにしましたCLickonce。苦労した後、ほぼ完璧でした。 XPである私のマシンのクリックオンスは、必要性に気づきませんでしたsqlite dll in the GAC。確かにそれはすでにそこにありました.Vistaに移動したときに問題があることに気付きました.ネットをチェックした後、私は知っていit's impossible to add a dll to the Global Assembly Cacheます.
今、私は立ち往生しています、私は壁にぶつかったと思います.誰か彼の経験の一部を共有できますか? 助けが得られれば、アップデータ ブロックを試してみたいと思います。

これを読んでくれてありがとう!!

4

2 に答える 2

1

(コメントには入りません)

ここで役立つことがあります。前提条件としてインストールする代わりに、SQLCE dll をローカルに展開できるため、展開が容易になります。この記事をチェックしてください。

ClickOnce の更新からデータを安全に保つ方法 という別の便利な記事もあります。

このスレッドをチェックすると、これはより理にかなっています。このスレッドに 2 つのリンクがある投稿があります。1 つはデータベースの配置を処理する ClickOnce の方法を示し、もう 1 つは上記のブログ記事と本質的に同じスレッドを示しています。

于 2010-06-01T18:33:53.177 に答える
0

まず、そのアップデータブロックを使用することはできません。.NET1.1用でした。ClickOnceデプロイメントが.NET2.0で追加されたときに、廃止とマークされました。

おそらく、そのdllをGACにインストールする必要はありません。多くの場合、デプロイメントに含めるだけで、ローカル参照を見つけて使用できます。それはdllに依存します。だからここに私があなたが試すことをお勧めするものがあります:

dllをプロジェクトに追加します。「ビルドアクション」を「なし」に設定します。「ローカルディレクトリにコピー」を「コピーしない」として設定します。

プロジェクト内のそのdllへの参照を削除し、再度追加します。ただし、GACから選択する代わりに、プロジェクトに追加したものを参照して選択します。参照プロパティで、「copylocal」を「true」に設定します。

これを実行すると、GACでローカルコピーを探す代わりに、ローカルコピーにアクセスします。

私が言ったように、これは場合によってはうまく機能します。SQLCEとDirectXで機能しますが、Infragisticsのようなものでは機能しません。一部のアセンブリは、実際にはGACにインストールする必要があります。あなたが知る唯一の方法は、あなたがそれを試すかどうかです。

最終的にGACに配置する必要がある場合は、MSIを作成してそれを実行し、ClickOnceアプリケーションの前提条件としてデプロイできます。そのため、メインアプリでClickOnceを引き続き使用できます。

于 2010-05-31T18:14:43.053 に答える