Ok, j'ai cherché pour cela et ne trouve pas spécifiquement ce que je cherche. En ce moment tout ce dont j'ai besoin est comment obtenir l'exe à télécharger dans le dossier actuel son et quand il le faut pour sortir avec l'ancienne mise à jour, comme l'écraser ou quelque chose. Tous ensemble ce que je veux, c'est quand je clique sur le bouton de mise à jour, il vérifie s'il y a une mise à jour, s'il y en a un qui dit oui ou non et vous cliquez sur oui, puis le télécharge dans le dossier courant et il remplace l'ancienne mise à jour avec la nouvelle mise à jour. Et s'il n'y a pas de mise à jour, cela dit quelque chose comme si vous aviez la version actuelle. Im en utilisant un fichier xml qui a la version et où le téléchargement se trouve sur mon site Web btw.Comment créer une mise à jour automatique?
C'est ce que j'ai,
private void checkForUpdatesButton_Click(object sender, EventArgs e)
{
string downloadUrl = "";
Version newVersion = null;
string aboutUpdate = "";
string xmlUrl = "";
XmlTextReader reader = null;
try
{
reader = new XmlTextReader(xmlUrl);
reader.MoveToContent();
string elementName = "";
if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "appinfo"))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
elementName = reader.Name;
}
else
{
if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
switch (elementName)
{
case "version":
newVersion = new Version(reader.Value);
break;
case "url":
downloadUrl = reader.Value;
break;
case "about":
aboutUpdate = reader.Value;
break;
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
Environment.Exit(1);
}
finally
{
if (reader != null)
reader.Close();
}
Version applicationVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
if (applicationVersion.CompareTo(newVersion) < 0)
{
string str = String.Format("New version found!\nYour version: {0}.\nNewest version: {1}. \nAdded in this version: {2}. ", applicationVersion, newVersion, aboutUpdate);
if (DialogResult.No != MessageBox.Show(str + "\nDo You Want To Download This ?", "Update", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
try
{
WebClient webClient = new WebClient();
webClient.DownloadFile("", "");
}
catch
{
}
return;
}
else
{
;
}
}
else
{
MessageBox.Show("Looks Like You Have The Most Current Update " + applicationVersion + "!", "Update", MessageBoxButtons.OK, MessageBoxIcon.None);
}
}
Si quelqu'un peut aider s'il vous plaît faire, je l'ai cherché et tout essayé, je vous remercie.
Y at-il une raison que vous essayez de réinventer ClickOnce? – 48klocs
Le problème avec le traitement XML ou la mise à jour? –
Vous me rappelez de moi quand j'ai commencé ... – Faisal