Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1895 | Besucher online: 213
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

user.config löschen


Autor: Günther Foidl
Sprache: C#
Bewertung:
8.38 (3 votes)
Anzahl der Aufrufe: 5754
  
Kick it on dotnet-kicks.de  

Beschreibung:

Das Löschen der user.config und der von der Konfiguration erstellen Pfade wird von einigen Deinstallations-Anwendungen nicht durchgeführt. Für eine "saubere" Deinstallation sollte dies aber geschehen. Nachfolgendes Snippet zeigt wie das geht.

Dabei wird die "normale" Anwendung insofern erweitert dass in der Befehlszeile das Argument "-del" übergeben werden kann. Ist dies der Fall wird die Anwendung gestartet und die user.config gelöscht. Anschließend wird die Anwendung beendet.
Wird keine Befehlszeile übergeben wird das Programm normal ausgeführt. Dadurch dass das Programm sowohl zur "normalen" Ausführung verwendet wird wie auch zum Löschen der user.config ist sichergestellt dass die richtige user.config gelöscht wird.


Abgelegt unter: user.config, Konfiguration, Deinstallation.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Configuration;
using System.IO;

namespace TestSettings
{
	class Program
	{
		/// <summary>
		/// Der Haupteinstiegspunkt für die Anwendung.
		/// </summary>
		/// <param name="args">
		/// Befehlszeilenargumente.
		/// <para>
		/// Werte:
		/// <list type="table">
		///		<listheader>
		///			<term>Argument</term>
		///			<description>Befehlszeilenargument</description>
		///		</listheader>
		///		<item>
		///			<term><c>-del</c></term>
		///			<description>löscht die user.confg</description>
		///		</item>
		/// </list>
		/// </para>
		/// </param>
		static void Main(string[] args)
		{
			if (args.Length > 0 && args[0] == "-del")
			{
				// user.config holen:
				Configuration config =
					ConfigurationManager.OpenExeConfiguration(
						ConfigurationUserLevel.PerUserRoamingAndLocal);

				// Pfad ermitteln:
				DirectoryInfo di = new DirectoryInfo(config.FilePath);

				// Ordner und übergeordneten Ordner der user.config
				// löschen -> durch true werden alle Dateien gelöscht.
				di.Parent.Parent.Delete(true);

				// Programm verlassen:
				return;
			}

			Console.WriteLine("Normale Programmausführung");
			Console.ReadKey();
		}
	}
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.