[Visual Studio] Uninstall Projekt?

Blackhawk50000

Erfahrenes Mitglied
Hallöchen, ich habe schon für ein Paar meiner Programme erfolgreich ein Setup Projekt erstellt. Aber ich vermisse immer die Uninstall exe... wie kann ich sowas machen? das ich zum beispiel im Startmenü auf uninstall klicke und alles ist weg?
 
Dann sag doch genau, wo deine Probleme liegen!
Hast du das Schritt für Schritt gemacht, so wie es beschrieben ist?
 
OKay, ich habs mir jetzt nochmal ganz genau durchgelesen und werde es morgen schritt für schritt ausprobieren. ich bin gespannt was passiert.

darf ich denn auch auf mein anderes Thema bei Windows Forms hinweisen? dann habe ich vielleicht morgen endlich kein offenes thema mehr.... BITTE *lieb guck* :)
 
Okay, jetzt weiß ich wo mein problem liegt... am code selber.

der Rest ist einleuchtend

ich bin nun schon so weit das ich den code in C# zum laufen bekommen habe

Code:
            string[] arguments = Environment.GetCommandLineArgs();
            foreach (string argument in arguments)
            {
                if (argument.Split(new char[] { '=' }, 0).ToString().ToLower() == "/u")
                {
                    string guid = argument.Split(new char[] { '=' }, 1).ToString();
                    string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
                    ProcessStartInfo si = new ProcessStartInfo(path + "\\msiexec.exe", "/i " + guid);
                    Process.Start(si);
                    Close();
                    Application.Exit();
                    System.Environment.Exit(0);
                }
            }

Aber ich weiß nicht, wo der Code genau hin muss.
 
Zuletzt bearbeitet:
Zitat:
Add the following code to your project's Main() sub or startup form's New() sub just before the call to InitializeComponent().
 
Ich weiß, das habe ich natürlich auch gelesen.

Ich habe das ganze dann auch zu meiner HauptForm vor die InitializeComponent(); gesetzt.

das sah dann so aus:

Code:
using System.Diagnostics;

namespace SMS_Archiv
{
    public partial class f_Hauptmenue : Form
    {
        public f_Hauptmenue()
        {
            string[] arguments = Environment.GetCommandLineArgs();
            foreach (string argument in arguments)
            {
                if (argument.Split(new char[] { '=' }, 0).ToString().ToLower() == "/u")
                {
                    string guid = argument.Split(new char[] { '=' }, 1).ToString();
                    string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
                    ProcessStartInfo si = new ProcessStartInfo(path + "\\msiexec.exe", "/i " + guid);
                    Process.Start(si);
                    Close();
                    Application.Exit();
                    System.Environment.Exit(0);
                }
            }

            InitializeComponent();
        }


doch wenn ich die uninstall dann anlicke, dann passiert nix.. das programm startet ganz normal
 
So hast du aber nicht das getan, was ich oben zitiert habe.

Dort steht eindeutig, dass du den Code in die Main()-Methode (diese findest du übrigens in der Program.cs) einfügen sollst.

Ohne Funktionsgarantie sollte das ganze dann in etwas folgendermaßen aussehen:

C#:
    static class Program
    {
        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main()
        {
            string[] arguments = Environment.GetCommandLineArgs();
            foreach (string argument in arguments)
            {
                if (argument.Split(new char[] { '=' }, 0).ToString().ToLower() == "/u")
                {
                    string guid = argument.Split(new char[] { '=' }, 1).ToString();
                    string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
                    ProcessStartInfo si = new ProcessStartInfo(path + "\\msiexec.exe", "/i " + guid);
                    Process.Start(si);
                    Close();
                    Application.Exit();
                    System.Environment.Exit(0);
                }
            }



            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
 

Neue Beiträge

Zurück