web-dev-qa-db-ja.com

WinFormsアプリからClickOnceを削除します

ClickOnceを使用する予定のWinFormsアプリケーションがあります。しかし、ClickOnceは私のアプリケーションでは機能しないことが判明したので、削除したいと思います。ただ...これを行うための明白な方法はないようです。 「Un-ClickOnce」ボタンはありません。 ClickOnceが統合される前のようにアプリを作成するために必要な手順を知っている人はいますか?

(私は新しいプロジェクトを作成してそれに何かをインポートできることを知っていますが、それをしなければならないのはばかげているようですので、別の方法があることを望んでいます。)

39
Ryan Lundy

ここでの他の応答は正しくないか、役に立ちません。削除する必要がないというのは誤りです。

私が最近経験したそのような例の1つは、アプリケーションに管理者権限が必要な場合でした。管理要件をマニフェストに埋め込もうとすると、ClickOnceがソリューションに存在している間は、アプリケーションがコンパイルされません。

次の2つの手順により、ClickOnceをオフにすることができました(Visual Studio 2010の場合)。

プロジェクトのプロパティで、

  1. 署名タブ:[ClickOnceマニフェストに署名する]のチェックを外します
  2. セキュリティタブ:[ClickOnceセキュリティ設定を有効にする]のチェックを外します
108
Chris Rogers

私は他の人たちに同意します。「ClickOnceを削除する」必要はありません。

ただし、本当に必要な場合は、IIRCのすべてのClickOnce設定がプロジェクトの.csprojファイルにあるため、ClickOnceに関連するすべてのXMLタグを削除してください。 (COでデプロイされたことがない新しいアプリと比較して、どのタグがないかを確認するのが最も簡単かもしれません)

2
andyhammar

デプロイを停止するとClickOnceから残るのは、これまでにデプロイしたものと現在のバージョンを示すファイルpublish.xmlだけだと思います。それ以外の場合は、ClickOnceを使用しない場合と同じように、binフォルダーからデプロイするだけです。

1

デバッグフォルダに表示されるClickOnceアプリケーション展開マニフェストファイルを参照する場合は、[プロジェクトのプロパティ]-> [セキュリティ]に移動し、[ClickOnceセキュリティ設定を有効にする]のチェックを外します。

[プロジェクトのプロパティ]-> [署名]に移動して[ClickOnceマニフェストに署名する]のチェックを外すこともできますが、最初のチェックを外すと署名する内容がないため、これは必要ありません。

これで、.applicationファイルをデバッグして削除すると、再構築時に再び表示されなくなります。

1

これが誰かを助ける場合に備えて...

私の問題は、「クリックワンスマニフェストに署名する」がチェックされているが、チェックを外せないように無効にされている依存「クラスライブラリ」プロジェクトがあることでした。私の解決策は次のとおりです。

  • そのプロジェクトをWindowsアプリに変換し、
  • プロパティパネルを再度開き、
  • プロパティパネルの[署名]タブから、ClickOnceマニフェスト署名を削除します。
  • プロジェクトを「クラスライブラリ」に変換し直します。

これはMSのバグだと思います(現在使用しているVS2019 16.0.1でも)が、回避策で修正されました。

幸運を!

0