2009-05-28 6 views
34

J'ai une application WinForms qui allait utiliser ClickOnce. Mais il s'avère que ClickOnce ne fonctionnera pas pour mon application, donc je voudrais l'enlever. Seulement ... il ne semble pas y avoir de moyen évident de le faire. Il n'y a pas de bouton "Un-ClickOnce". Est-ce que quelqu'un sait quelles mesures je dois prendre pour que mon application soit comme avant l'intégration de ClickOnce?Supprimer ClickOnce d'une application WinForms

(je sais que je peux créer un nouveau projet et d'autres choses à l'importation en elle, mais il semble stupide d'avoir à le faire, alors j'espère qu'il ya une autre façon.)

+1

Qu'est-ce que i t à propos de ClickOnce qui a "infecté" votre programme? Vous ne "supprimez" pas ClickOnce d'une application, vous décidez simplement de ne pas l'utiliser et de le déployer d'une autre manière. –

Répondre

1

Je crois que la seule chose qui est à partir de ClickOnce une fois que vous arrêtez de déployer, c'est le fichier publish.xml qui vous indique ce que vous avez déployé jusqu'à présent et à quelle version vous êtes. Sinon, il n'y a rien là qui vous concerne, il suffit de déployer à partir des dossiers bin comme vous le feriez sans ClickOnce.

1

Je suis d'accord avec les autres, il n'y a pas besoin de "supprimer ClickOnce".

Si vous le souhaitez vraiment, les paramètres IIRC all ClickOnce se trouvent dans le fichier .csproj du projet, donc supprimez tous les tags XML liés à ClickOnce. (peut-être le plus facile à comparer à une nouvelle application qui n'a pas été déployée avec CO pour voir quels tags ne sont pas là)

1

Si vous faites référence aux fichiers du manifeste de déploiement d'application ClickOnce qui apparaissent dans votre dossier Déboguer, allez à Projet Propriétés -> Sécurité et décochez 'Activer les paramètres de sécurité ClickOnce'

Vous pouvez également accéder aux propriétés du projet -> Signer et décocher 'Signer les manifestes ClickOnce', mais ce n'est pas nécessaire car il n'a pas quoi signer si vous Commencez par décocher.

Maintenant, si vous allez à déboguer et supprimer des fichiers .application, lors de la reconstruction, il n'apparaîtra plus.

92

Les autres réponses ici ne sont pas correctes ou utiles. Il est incorrect de déclarer qu'il n'a jamais besoin d'être retiré.

Un de ces exemples que j'ai vécus récemment était lorsque l'application avait besoin de privilèges administratifs. Toute tentative d'intégration des exigences administratives dans le manifeste entraînera la compilation de l'application même si ClickOnce est toujours présent dans la solution.

Les deux étapes suivantes m'a permis de désactiver ClickOnce (dans Visual Studio 2010):

Dans les propriétés du projet,

  1. signature onglet: Décochez "Signez la ClickOnce manifeste"
  2. Sécurité tab: Désactiver "Activer les paramètres de sécurité ClickOnce"
+9

Bonne réponse. Merci – Ryan

+5

Merci. Pour moi, je ne veux pas que des fichiers inutiles entrent dans une construction car ils seront copiés sur d'autres machines, etc. C'est plus propre quand vous ne pouvez pas les avoir si vous ne les utilisez pas! –

+0

Comment est 1.) possible s'il y a des fichiers DLL dans le projet (réf. * [Comment ne pas signer un manifeste ClickOnce] (http://stackoverflow.com/questions/229373/how-to-not-sign-a -clickonce-manifeste/229795 # 229795) *)? Est-ce que 2.) l'active dans ce cas? –

Questions connexes