Laden...

Forenbeiträge von UZI Ingesamt 189 Beiträge

21.10.2015 - 20:25 Uhr

mal so ins Blaue geschossen, würd ich sagen, dass du im pfad ne leerstelle hast, und der pfad nicht in anführungszeichen ist. Eventuell klappts in etwa so:


Process.Start("cmd.exe", "/c subst x: 'c:\\Program Files (x86)\\Microsoft Games'");

11.06.2015 - 19:36 Uhr

Das liegt daran, dass du mit strings hantierst (string [] Lines = new string [4];)
Wenn du Berechnungen durchführen willst (also bspw. 1 addieren) musst du erst den string in einen anderen Datentyp umwandeln, bspw. int. Das kannst du mit Convert.ToInt32() machen. Danach muss der veränderte Wert wieder in einen string umgewandelt werden, damit du ihn der Text-Eigenschaft eines Labels zuweisen kannst.
Dein Code sähe also so richtig aus:


string Datei;
string [] Lines = new string [4];

Datei = "demo.txt";

Lines = File.ReadAllLines(Datei);

Label7.Text = (Convert.ToInt32(Lines[0]) + 1).ToString();
Label8.Text = (Convert.ToInt32(Lines[1]) + 1).ToString();
Label9.Text = (Convert.ToInt32(Lines[2]) + 1).ToString();
Label10.Text = (Convert.ToInt32(Lines[3]) + 1).ToString();

Das ist aber alles eigentlich Grundlage

05.05.2015 - 17:23 Uhr

Super, vielen Dank! Der Tipp war goldrichtig, klappt nun perfekt.

04.05.2015 - 21:29 Uhr

Hallo,
ich habe folgenden Python-Schnippsel:


def encrypt_dfsId(self,dfsId):
        byte1 = bytearray('3go8&$8*3*3h0k(2)2')
        byte2 = bytearray(str(dfsId))
        byte1_len = len(byte1)
        for i in xrange(len(byte2)):
            byte2[i] = byte2[i]^byte1[i%byte1_len]
        m = md5.new()
        m.update(byte2)
        result = m.digest().encode('base64')[:-1]
        result = result.replace('/', '_')
        result = result.replace('+', '-')
        return result

Dabei wird aus einem normalen string (dfsId) ein "encoded" string generiert. Das würde ich gerne in C# übersetzen.
Ich bin schon soweit, weiß jedoch auch nicht ob das bis dort alles so richtig ist:



string id = "1312816883569641";
byte[] byte1 = GetBytes("3go8&$8*3*3h0k(2)2");
byte[] byte2 = GetBytes(id);
int byte1_length = byte1.Length;

for(int i =0; i< byte2.Length;i++)
	byte2[i] = Convert.ToByte(byte2[i]^byte1[i%byte1_length]);

System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();        
string result=  Convert.ToBase64String(md5.ComputeHash(byte2));
result= result.Replace('/', '_');
result = result.Replace('+', '-');
MessageBox.Show(result);
        
        static byte[] GetBytes(string str)
        {
            byte[] bytes = new byte[str.Length * sizeof(char)];
            System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
            return bytes;
        }

Problem ist nun folgendes: Für id = 1312816883569641 bekomme ich result = lhMT967uxSWQvq_eZwkc3Q== heraus. Herauskommen soll aber: result = gF7_aEyB9rj6_N2NQ7ShYA==

Was mache ich falsch? Ich weiß, dass das hier kein Python-Forum ist, aber vlt. fällt ja doch jemandem was auf. Oder gibt es andere Möglichkeiten das in C# zu übersetzen?

Vielen Dank im Voraus!

28.03.2015 - 17:35 Uhr

Ok, ich hab selbst ein workaround gefunden. Scheinbar wurde das iframe des Players nicht richtig geladen, also direkt das iframe angesteuert und es läuft.

27.03.2015 - 10:34 Uhr

Hallo Leute,
habe ein Problem und zwar versuche ich in einem normalen WebBrowser-Control (sowohl WPF als auch Windows Forms) ein Video von muzu.tv abzuspielen (Beispiel hier).
Zunächst war der Player im WebBrowser-Control komplett schwarz und hat gar nichts gemacht. Ich habe dann über diese Anleitung die verwendete IE-Version geändert, da es mit IE11 ohne Probleme abspielt.
Nun wird zwar der Player angezeigt, jedoch bekomme ich im Player die Fehlermeldung "Dieses Video ist leider nicht mehr verfügbar." Das Prog ist x64 kompiliert, sonst tut sich wieder gar nichts.
Was mache ich falsch? Das Video wird im IE 11 ganz normal abgespielt.

LG Uzi

17.07.2014 - 20:10 Uhr

Hallo liebe Community,
seit etwa zwei Jahren werkel ich nun schon an meinem Projekt YouViewer.
Anfangs hatte ich es nur für mich programmiert, da ich nervige Probleme mit Youtube hatte (Buffering, Layout, usw.), die über eine Software leicht zu lösen waren.
Mittlerweile ist YouViewer recht umfangreich und unterstützt beispielsweise auch Twitch.tv-Livestreams.
Features:*Anschauen von Youtube-Videos *Verwalten von Abos *Anschauen von Hochgeladenen Videos, Playlists, Beliebten Videos, usw. *Suchen nach Videos mit vielen Filtereinstellungen *Anschauen von Kommentaren *Keine Werbung (weder im Video noch im Programm) *Viele Informationen auf einen Blick (Beschreibung, Bewertungen, usw.) *Anschauen von Twitch.tv-Livestreams *Auto-Update

Ich nutze die Youtube-Api, VideoLan DOTNET, WPFToolkit, sowie Newtonsoft.JSON.
Herunterladen kann man YouViewer entweder als Setup auf hier oder besser die aktuellste Version hier als ZIP.
Auf der Webseite kann man auch weitere Informationen zur Bedienung finden.
Systemanforderungen sind: Vista+, VLC >1.2 (32-bit!!!!), Internet, Youtube-Account oder Testaccount (diesen in %appdata%\YouViewer kopieren).
Mir ist bewusst, dass das Programm nicht perfekt ist und dass es noch einige Dinge gibt, die man hinzufügen/verbessern kann, und tatsächlich sitze ich noch fleißig an der Weiterentwicklung, sodass man mit regelmäßigen Updates rechnen kann.
Dennoch bin ich auf Feedback, Kritik und Anregungen gespannt und würde mich freuen, wenn möglichst viele ihren Senf dazu geben könnten.

Danke schonmal im Vorraus und viel Spaß
UZI

16.02.2014 - 13:38 Uhr

Servus,
den Pfad des Explorers so bestimmen:


string.Format("{0}\\{1}", Environment.GetEnvironmentVariable("WINDIR"), "explorer.exe")

genommen von hier: Explorer nach Beenden wieder starten

03.12.2013 - 20:08 Uhr

Wenn du mit SendKey arbeitest sollte Keys Enumeration weiterhelfen. Name des Keys ist "MediaPlayPause"

05.11.2013 - 18:01 Uhr

Ich denke dieser Link sollte dir weiterhelfen: C# List - Removing items while looping / iterating
//Halt stopp, scheint ja gar nicht dein Problem zu sein, also ignorier die Antwort (kann gelöscht werden)

30.10.2013 - 10:55 Uhr

Hast du die dll als Verweis hinzugefügt und hast du etwas wie


xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"

als Namespace in xaml,
bzw. bei c# liegt die autocompletebox nur unter


System.Windows.Controls.AutoCompleteBox

Der Einsatz bei xaml wäre dann sowas:


<toolkit:AutoCompleteBox>
</toolkit:AutoCompleteBox>

30.10.2013 - 10:27 Uhr

Wenn du auf ein anderes Control umsteigen kannst:
Das WPF Toolkit beinhaltet eine AutocompleteBox. Using the AutoCompleteBox in the WPF Toolkit eine Anleitung dazu.

19.10.2013 - 16:39 Uhr

.NET-Code hab ich nach dieser Anleitung debuggt: http://msdn.microsoft.com/de-de/library/vstudio/cc667410(v=vs.110).aspx Zeigt aber keine relevanten Fehler an (meiner meinung nach):> Fehlermeldung:

msg Der Wert von "local" oder von Argument "msg" ist in diesem Anweisungszeiger nicht verfügbar und kann daher nicht ermittelt werden. Möglicherweise wurde er bei der Optimierung entfernt. System.Windows.Interop.MSG

hwnd Der Wert von "local" oder von Argument "hwnd" ist in diesem Anweisungszeiger nicht verfügbar und kann daher nicht ermittelt werden. Möglicherweise wurde er bei der Optimierung entfernt. System.IntPtr

minMessage Der Wert von "local" oder von Argument "minMessage" ist in diesem Anweisungszeiger nicht verfügbar und kann daher nicht ermittelt werden. Möglicherweise wurde er bei der Optimierung entfernt. int

maxMessage Der Wert von "local" oder von Argument "maxMessage" ist in diesem Anweisungszeiger nicht verfügbar und kann daher nicht ermittelt werden. Möglicherweise wurde er bei der Optimierung entfernt. int

MILMedia selbst, wovon die Prozentzahl lebt, verweist auf MilCore.dll und dessen Entrypoint MILMediaGetDownloadProgress und die holt sichs oder gibts (kanns nich genau nachvollziehen) von/an wpfgfx_v0300.dll bzw. die entsprechende Version (hier 400.dll).

Das sieht bei mir anders aus:


//MediaPlayer.cs:

 public double DownloadProgress
    {
      get
      {
        this.ReadPreamble();
        return this._mediaPlayerState.DownloadProgress;
      }
    }

//MediaPlayerState.cs:

internal double DownloadProgress
    {
      [SecurityCritical, SecurityTreatAsSafe] get
      {
        this.VerifyAPI();
        double pProgress = 0.0;
        HRESULT.Check(MILMedia.GetDownloadProgress(this._nativeMedia, ref pProgress));
        return pProgress;
      }
    }

//MILMedia.cs:

[DllImport("wpfgfx_v0400.dll", EntryPoint = "MILMediaGetDownloadProgress")]
    internal static int GetDownloadProgress(SafeMediaHandle THIS_PTR, ref double pProgress);
//Diese Funktion gibt zwar einen int zurück, aber der eigentliche DownloadProgress wird ja über ref weitergegeben, also auch double.

Meinst du ich soll den DllImport mal nachmachen? Wäre aber das Problem, dass ich nicht weiß wie ich an das SafeMediaHandle rankommen soll.

//EDIT
Wo hast du das gelesen mit den unterstützten Formaten, hier steht nichts davon: http://msdn.microsoft.com/de-de/library/system.windows.media.mediaplayer.downloadprogress.aspx
Macht aber sowieso keinen Unterschied, da es auch mit .wmv Dateien nicht funktioniert

17.10.2013 - 19:43 Uhr

Danke TheGear, hat mir auf jeden Fall weitergeholfen. Offensichtlich liegt es also nicht an der .NET-Framework-Version. Als ich das ganze nochmals getestet habe bin ich auf ein einziges Video gestoßen, bei dem das Verhalten anders war (Test-Video 3).
Test-Video 1 - 0.0 oder 1.0
Test-Video 2 - 0.0 oder 1.0
Test-Video 3 - Entweder 0.0 oder 0.01 (???)
Nach diesem Ergebnis, hab ich mir überlegt, worin sich die Videos unterscheiden und mir ist aufgefallen, dass wenn man den Link des dritten Videos im Browser öffnet, wird es nicht wie die beiden anderen Videos direkt im Browser angezeigt, sondern im Downloadmanager gedownloadet. Also nochmal nach einem Video, wie Test-Video 3 gesucht:
Test-Video 4 - 0.0 oder 1.0
Einen Programmierfehler kann ich nun im Grunde ausschließen, einen Kompatibilitätsfehler auch, ein Bug im .NET-Framework scheint es ja auch nicht zu sein (Es funktioniert ja bei TheGear). Auch nach dem Durchlesen dieses Threads: [FAQ] Programm läuft in anderer Umgebung nicht (richtig) bleibt die Frage, was kann es noch sein? Mglw. ein Problem bei den Videos?

_
PS:
Es wird folgende Exception geworfen bei player.Open(url):> Fehlermeldung:

Ausnahme:Aufgefangen: "Die Anwendungsidentität ist nicht festgelegt." (System.Deployment.Application.InvalidDeploymentException)
System.Deployment.Application.InvalidDeploymentException wurde aufgefangen: "Die Anwendungsidentität ist nicht festgelegt."

Hat aber wohl nichts mit diesem Problem zu tun, da es bei allen Videos, sogar bei lokal gespeichterten auftritt._

17.10.2013 - 14:01 Uhr

Seltsam, ich habe es gerade mit einem 3-Gigabyte-Video probiert, und kein Ergebniss erzielt. Welche .NET-Framework Version hast du? Meine:


<32Bit>
2.0.50727.5472
  ->C:\Windows\Microsoft.NET\Framework\v2.0.50727
4.0.30319.18052
  ->C:\Windows\Microsoft.NET\Framework\v4.0.30319

<64Bit>
2.0.50727.5472
  ->C:\Windows\Microsoft.NET\Framework64\v2.0.50727
4.0.30319.18052
  ->C:\Windows\Microsoft.NET\Framework64\v4.0.30319

< Installed .NET Frameworks >
.NET FW 2.0 SP 2
.NET FW 3.0 SP 2
.NET FW 3.5 SP 1
.NET FW 4.5 Client
.NET FW 4.5 Full

von NetDetector
Wäre sehr nett, wenn du deine Version schreiben könntest.

16.10.2013 - 19:37 Uhr

Da ich immer noch an dem Problem hänge, push ich es mal hiermit.

09.08.2013 - 12:26 Uhr

Wenn du das Kontexmenü erweitern willst, ist es glaub ich sinnvoller, das nicht über das eigene Programm zu machen, sondern den Eintrag zu erstellen, und dann sein eigenes Programm vom Windows explorer aufrufen zu lassen (siehe Erstellen von Kontextmenü-Einträgen).

31.07.2013 - 21:52 Uhr

Wenn du mit unbedingt mit einer foreach arbeiten willst, in etwa so:


void LoadQuellcodes()
        {
            foreach (string Album in AllAlben)
            {
                if (Album != "")
                {
                    wb.Navigate(Album.Split('|')[1]);

 while(wb.ReadyState != WebBrowserReadyState.Complete)
        {}
       DoStuffmitgeladenerSeite();

                }
            }
        }

Ich würde aber mit dem Event DocumentCompleted arbeiten, und ohne foreach, viele Vorteile:


private void Main()
{
LadeersteSeite();
}
private void BrowserDocumentCompleted(object sender,
        WebBrowserDocumentCompletedEventArgs e)
{
DoStuffmitgeladenerSeite();
LadenächsteSeite();
}

09.07.2013 - 20:16 Uhr

Wird dabei das NewWindow-Event ausgelöst? Wenn ja, einfach:


e.Cancel = true;

21.06.2013 - 16:01 Uhr

Wird denn das EULA-Fenster angezeigt oder irgendeine Fehlermeldung geworfen?

12.06.2013 - 14:00 Uhr

Es gibt ein Plugin für den VLC Player, das die Position speichert, an dem das Video beendet wurde und dann später beim erneuten Öffnen des Videos wieder hinspult. Man kann diese Positionen in folgender Datei auslesen:


C:\Users\%username%\AppData\Roaming\vlc\srpos.ini

Vielleicht kannst du damit etwas anfangen.

27.05.2013 - 20:09 Uhr

Das mit dem Dekompilieren ist gut zu wissen. Den Code der MediaPlayer-Klasse gibts tatsächlich schon im Netz (hier).
Beim Aufruf MediaPlayer.DownloadProgress wird der Wert von _mediaPlayerState.DownloadProgress genommen. Dort widerrum wird die Methode GetDownloadProgress aus der Klasse MILMedia aufgerufen. Wenn man da reinschaut steht dort ein Dll-Import auf die unmanaged Assembly wpfgfx_v0400.dll am Entrypoint "MILMediaGetDownloadProgress". Aber da kann ich wohl nicht reingucken. Aber über die ganzen Eigenschaften und Methoden wird eigentlich immer der Double-Wert beibehalten, also scheint irgendwas in dieser wpfgfx_v0400.dll nicht zu stimmen.
Gibt es eine Möglichkeit dort reinzuschauen?

27.05.2013 - 17:03 Uhr

Danke, bin erleichtert, dass es nicht an meinem Code zu liegen scheint. Scheinbar wird die MediaPlayer-Klasse nicht sehr oft verwendet. Ich hatte es auch schon mit 2 Stunden in 1080p ausprobiert, selbes Ergebnis, also scheint nicht so recht Sinn zu machen.

Darf ich rechtlich überhaupt DLLs aus dem .NET Framework decompilen/disassemblieren, um zu schauen ob ein Fehler enthalten ist?

27.05.2013 - 15:13 Uhr

Auch kein Problem, hier bitteschön.

27.05.2013 - 11:30 Uhr

Okay, hier hab ich mal ein Minimalprojekt erstellt:


MediaPlayer player;
        DispatcherTimer timer;
        public MainWindow()
        {
            InitializeComponent();
            player = new MediaPlayer();
            timer = new DispatcherTimer();
            timer.Interval = new TimeSpan(0, 0, 0, 0, 250);
            timer.Tick += delegate { label1.Content = player.DownloadProgress.ToString(); label1.UpdateLayout(); };
        }

        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            Start startform = new Start();
            startform.ShowDialog();
            if (startform.DialogResult.HasValue && startform.DialogResult.Value)
            {
                player.MediaOpened += delegate { player.Play(); timer.Start(); };
                player.Open(new Uri(startform.txtbox1.Text));
                VideoDrawing drawing = new VideoDrawing();

                drawing.Rect = new Rect(new Size(1280, 720));
                drawing.Player = player;


                DrawingBrush brush = new DrawingBrush(drawing);
                grid1.Background = brush;
            }
            else
                Close();
        }

Startet eine eingegeben URL, und zeigt den DownloadProgress-Wert alle 4tel-Sekunde in einem Label an. Auch hier tritt der Fehler auf. Ich lade das Programm mal mit hoch, dann kann mal jemand anderes es ausprobieren (Bspw. mit diesem Video )
Danke für Rückmeldungen!

27.05.2013 - 09:25 Uhr

Ich weiß die Antwort auf die Frage, ob das ein Fehler des .NET Frameworks oder mein Fehler ist eben nicht. Deswegen schreibe ich ja nicht zu stimmen scheint. Vielleicht mache ich ja auch irgendwas mit dem Wert falsch.

26.05.2013 - 17:41 Uhr

Es geht nicht um die Progressbar oder sonstiges GUI-relevantes. Es geht darum, dass DownloadProgress nur entweder 0.0 oder 1.0 entgegen der Beschreibung im msdn ist. Ich poste hier auch keinen Code, da ich nicht denke, dass das ganze Codeabhängig ist, da ja der Wert aus dem .NET Framework nicht zu stimmen scheint.

24.05.2013 - 20:46 Uhr

Stimmt, auf der msdn-Seite ist aber auch von 0 oder 1 die Rede. Aber ja ich arbeite mit Double, das ist es nicht.

24.05.2013 - 20:20 Uhr

Hallo,
ich übergebe einem MediaPlayer einen Link zu einem Video aus dem Netz.
Dieses spielt er auch ohne Probleme ab. Damit der Downloadfortschritt des Videos angezeigt wird, habe ich eine eigene Progressbar gebastelt und will diese anhand von MediaPlayer.DownloadProgress "füllen". Ich habe es schon mit mehrere Videos ausprobiert, aber DownloadProgress ist immer entweder 0 oder 1. Bei msdn steht:

The percentage of download progress for content located at a remote server represented by a value between 0 and 1.

Der Wert liegt bei mir aber nicht zwischen 0 oder 1, sondern nur auf 0 oder 1, so als ob das Video innerhalb von einer halben Sekunde vollständig geladen wäre (geht natürlich nicht: 1920p x 50min)
Ist das ein Bug von .NET Framework 4.5 oder mach ich was falsch?

12.05.2013 - 18:53 Uhr

Hoffe das hilft dir weiter:
Drawing Trig Functions via WPF

07.05.2013 - 18:05 Uhr

Über die Background-Image-Eigenschaft wird das nicht so einfach machbar sein. Dann lieber eine PictureBox hinter alle Controls und dann wie schon gesagt die Transparenz über einen Timer erhöhen.

07.05.2013 - 18:02 Uhr

Der Link ist leider nicht mehr verfügbar.
Hat vlt. noch jemand den Source auf Platte und wäre so freundlich diesen nochmals hochzuladen
Danke!

13.03.2013 - 18:33 Uhr

Es gibt ne seht gute Klasse aus dem Forum:
Hotkey-Klasse

18.02.2013 - 20:16 Uhr

Schätzungsweise geht es einfach zu schnell. Hau mal ein picturebox.Update und ne pause von ner halben sekunde nach jedem picturebox.Load rein.

08.01.2013 - 19:07 Uhr

Ich bin mir zwar nicht sicher, aber beim Abmelden werden nur die Programme geschlossen, die der angemeldete Benutzer gestartet hat. Wenn also ein Prog gestartet wurde, das unter Systemrechten läuft, sollte es auch nach dem Abmelden noch aktiv sein. Vielleicht hilft dir das weiter. Frage wäre dann nur, wie man das Programm mit Systemrechten aus einem Dienst heraus startet.
Vielleicht weiß ja dazu jemand etwas.

28.12.2012 - 12:21 Uhr

Also:
Das Handle des Explorers bekommen.
Eventuell musst du dann noch explizit das Handle des Desktops holen.
Dann mit SendMessage SetItemPosition senden.
So sollte das funktionieren. DLL-Importe bekommst du unter anderem von Pinvoke.

28.12.2012 - 10:01 Uhr

Ich geh mal eigentlich davon aus, dass du folgende Links schon gefunden hast:
Manipulate Icons
SetItemPosition
Snippet in VB

26.12.2012 - 15:03 Uhr

Du könntest mal versuchen, den Explorer nach dem Setzen der Größe zu beenden und wieder zu starten.
Vielleicht funktioniert es dann ja.
Bevor du das ganze in dein Programm einbaust auch nochmal versuchen den Explorer "sanft" zu beenden (Start| Strg+Umschalt|Rechtsklick auf leere Fläche|Explorer beenden) und schauen, ob damit irgendein Effekt erzielt wird.

14.12.2012 - 16:21 Uhr

Schau mal hier:
FindWindow
dort steht auch:

Alternative
If you need to find windows for a given process ID, try using EnumWindows in combination with GetWindowThreadProcessId.

Dazu die links:
EnumWindows
GetWindowThreadProcessId

30.10.2012 - 09:48 Uhr

Durch die totale Angabe geteilt durch die Bytes des gesamten kannst Du Dir die quasi die Länge pro Sekunde errechnen (wenn man das so nennt?).
Anschließend die "Länge pro Sekunde" mulipliziert mit der Sekunden-Angabe des gewünschten Starts.

Geht leider nicht so einfach, denn das wäre ja die durchschnittliche Bitrate pro Sekunde, die weicht aber ab:
30 Frames, die nur schwarz sind haben deutlich weniger "Datendurchsatz" als 30 Frames, die komplett bunt sind (ich hoffe, ihr versteht was ich meine).
Man könnte damit natürlich sich an die Zeit annähern, aber pi mal Daumen ist ja nie gut.

@Coder007:
Wenn man mal ein Range Request in die Mitte der Datei setzt, kann sie VLC immer noch abspielen (glaub ich)), aber natürlich sind die ganzen Header der MP4 verloren.

29.10.2012 - 21:39 Uhr

Ich hatte es schon ausprobiert:
Problem, woher weiß ich, welcher Zeitpunkt welchem "Bytepunkt" entspricht.
Da ich das nicht weiß, habe ich gefragt ob es überhaupt mit Range Request umsetzbar ist, oder ob es da andere Möglichkeiten gibt.

29.10.2012 - 20:14 Uhr

Hallo,
ich lade ein MP4-Video über HTTPWebRequest/Response herunter.
Dabei kenne ich jeweils die Größe(bytes+Auflösung) und die Länge des Videos.
Bitraten, o.ä. sind nicht bekannt.
Jetzt will ich dem Benutzer ermöglichen, das Video ab einem bestimmten Zeitpunkt (bspw. ab der 3ten Minute) bis zu einem bestimmten Zeitpunkt (bspw. bis zur 5ten Minute) zu downloaden.
Lässt sich das über Range-Request machen? Oder muss ich das gesamte Video downloaden und es dann manuell zuschneiden? Gibt es noch eventuell andere Möglichkeiten, das zu bewerkstelligen?
Danke schonmal für Antworten.

05.10.2012 - 09:29 Uhr

Setze mal die RemovePreviousEntries-Eigenschaft der Setup auf true.
Die alten Dateien müssten dann eigentlich automatisch gelöscht werden.
Oder die DetectNewerInstalledVersion-Eigenschaft auf false.

12.09.2012 - 16:32 Uhr

Form2 form = new Form2();
form.Show();

30.08.2012 - 11:03 Uhr

Vielleicht hilft dir das hier weiter:
PsLoggedOn.
Dort wird auch der Weg erklärt.