Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Krumnix
Thema: Directory.CreateDirectory warten bis abgeschlossen
Am Heute, im Forum: Grundlagen von C#

Zitat
Kann das sein, dass Du hier etwas baust, das eigentlich ein Release System automatisch machen sollte..?

Nicht ganz. Für die Microcontroller in der Produktion benötigt es die neuste SW.
Dies wird von der Entwicklung in ein ZIP-File abgelegt. Will das Mail-System durch ein kleines Programm
ersetzen, dass die neuste Version aus dem Netzwerk auf die IB-Laptops lädt.

Thema: Directory.CreateDirectory warten bis abgeschlossen
Am Heute, im Forum: Grundlagen von C#

Hier mal mein Code.


if (!Directory.Exists(path))
                  Directory.CreateDirectory(path);

if (Directory.Exists(path + "Release\\"))
                    Directory.Delete(path + "Release\\", true);

if (Directory.Exists(path))
{
                   string NewReleasePath = path + "Release\\" + FolderNameVersion + "\\" + FolderNameRelease;
                   File.Copy(ReleaseZIPName, NewReleasePath + "CopyRelease.zip", true);
                   Directory.Move(NewReleasePath, ProgramConfig.AppPath + "\\" + FolderNameRelease);
}

Vielleicht hab ich ja einen Denkfehler drin, fall es nix mit Abt seine Info zu tun hat.
Danke

Thema: Directory.CreateDirectory warten bis abgeschlossen
Am im Forum: Grundlagen von C#

Nein. Bis jetzt hatte ich dies auch nicht.
Aber auf einem "alten" Rechner (von 2017) bekomme ich immer ein Zugrifffehler, dass das Verzeichnis nicht da ist.
Ich hab mal aus "Langeweile" eine Wartezeit reingemacht und dann läuft es.
Das ist aber unsauber

Ich teste mal deinen Vorschlag. Danke

Thema: Directory.CreateDirectory warten bis abgeschlossen
Am im Forum: Grundlagen von C#

Hallo zusammen,

es kommt manchmal vor, dass bei nutzen des Befehls "Directory.CreateDirectory" die Funktion danach nicht ausgeführt wird und ein Fehler kommt, dass das Verzeichnis nicht exisitiert.
Insbesondere wenn ein System mit "alter" HDD (nicht SSD) eingesetzt wird.

Frage:
Gibt es eine Möglichkeit auf Beendigung der Verzeichniserstellung zu warten?

Danke

Thema: Netzwerk Adapter Name ändern
Am im Forum: Netzwerktechnologien

Hallo zusammen,

gibt es eine Möglichkeit den Netzwerk Adapter Name per C# zu ändern?
Die Daten auslesen kann ich ohne Probleme, aber ändern leider nicht.
Über die Registry ist das fast nicht möglich, da der Zugriff über diese Hex-Nummer
nur möglich ist und das ist nicht überall nutzbar.

Mit Powershell würde es ja gehen, aber das mag ich nicht verwenden.


Get-NetAdapter -Name "Old Name" | Rename-NetAdapter -NewName "New Name"

Danke für ein paar Tipps.

Thema: .Net Framework 3.5 notwendig, obwohl 4.7 vorhanden ist
Am im Forum: Rund um die Programmierung

Hallo zusammen,

beim installieren einer Bibliothek von einem 3. Anbieter kommt die Meldung, dass .Net Framework 3.5 zu installieren ist.
Ich habe aber 4.72 installiert.

Gibt es mit 3.5 irgendwas, dass mit 4.7 entfernt wurde?
Kann ich dem Installprogramm irgendwie sagen, dass 3.5 bereit ist, da alles in 4.7 integriert ist?
Was gibt es noch zu beachten, oder was kann ich noch machen?

Danke

Thema: Registry Eintrag prüfen -> null Exception
Am im Forum: Grundlagen von C#

Hallo zusammen,

ich möchte gerne einen Eintrag in der Registry auswerten. Das funktioniert.
Wenn jedoch der Eintrag nicht vorhanden ist, dann bekomme ich eine null Exception.
Diese möchte ich gerne auswerten, ohne das er in einen Fehler geht (try...).

if (targetRegistryKey.GetValue(registryEntry).ToString() is null)
                    return false;
                return true;

Das funktioniert nicht. Möchte jetzt aber nicht im catch-Teil meine weitere Programmierung umsetzen.

Vielleicht gibs was anderes, mit dem ich Einträge in der Registry nutzen kann und wenn diese nicht da sind ich keine null bekomme?!

Danke für eure Tipps.

Thema: [SUCHE] Tool, welches unter Win10 Einstellungen prüft und nach einer Vorgabe anpasst
Am im Forum: Smalltalk

@Tisdo: Ja das hatte ich auch mal aktiv. Schütz vor Viren und Trojaner recht gut auch vor Änderungen.
Aber in diesem Fall gehen Logs verloren. Ich hab noch nirgends Infos gefunden, wo man diverse Verzeichnisse davon ausnehmen kann.

Thema: [SUCHE] Tool, welches unter Win10 Einstellungen prüft und nach einer Vorgabe anpasst
Am im Forum: Smalltalk

Ja, IPC = Industrie PC
Leider ist das nicht so einfach, da die Programme, welche diverse Aktionen durchführen, ziemlich "zickig" sind und eine gewisse Bedienung durch den Benutzer leider nur mit gleichen Rechten laufen.

Thema: [SUCHE] Tool, welches unter Win10 Einstellungen prüft und nach einer Vorgabe anpasst
Am im Forum: Smalltalk

Hallo zusammen,

bei unseren Maschinen liefern wir einen IPC mit. Leider schafft es der ein oder andere Benutzer in der Nachschicht aus Langeweile auf diesem IPC "rumzuspielen". Irgendwann funktioniert nix mehr und
die Instandhaltung braucht teilweise "ewig" bis das System wieder läuft.
Meist sind diverse Einstellungen (IP-Adresse, Verzeichnisse auf der Platte, Routings...) verstellt/gelöscht.
Ich suche jetzt ein Programm, welches beim Neustart des Systems (Win10) alle Einstellungen prüft und nach einer Vorgabe wieder zurückstellt.

Gibt es da was, oder eher selbst programmieren?

Danke.

Thema: Wie Netzwerkeinstellung automatisch anpassen in Win10?
Am im Forum: Netzwerktechnologien

Hallo,

wir liefern Maschinen mit einem IPC aus. Darauf sind div. Lösungen von uns installiert.
Der Produktion übergeben wir ein Image, dass sie installieren soll.
Dies basiert auf Win10 2016 LTSB.
Darauf haben wir die Netzwerkeinstellungen feste zugewiesen, da die Steuerungen kein DHCP unterstützen.

Jetzt hab ich ein Problem, da Windows beim Erkennen einer anderen Mac-Adresse als beim Erstellen des Images den Adapter neu anlegt. Heißt, dass alle Netzwerkeinstellungen weg sind.
Weiterhin vergeben wir jedem Port (insgesamt 4) einen Namen, damit Service-Techniker später wissen, welcher Port was bedeutet. Auch dies ist weg. In der Übersicht steht dann "Ethernet", "Ethernet 2", "Ethernet 3","Ethernet 4".

Wenn nun die Produktion den Namen und die IP-Adresse anpassen möchte, kommt immer ein Fehler, dass der Name und die Adresse schon vergeben ist.

In der Registry habe ich den Eintrag für die Namen gefunden. Im HW-Manager finde ich unter ausgeblendete Geräte alle Geräte, so dass ich ins. 8 Geräte dort stehen habe. Die versteckten kann ich deinstallieren.

Nun würde ich das "automatisieren", sprich, dass ein Tool die 4 versteckten Treiber deinstalliert, die Namen aus der Registry löscht und die 4 erkannten mit Name und IP-Adresse richtig zuweist.

Frage:
Gibt es ggf. eine Bibliothek, welche diese Zugriffe erleichtert?
Kennt jemand ggf. ein Beispiel, das ich mir mal anschauen könnte?
Wie würdet ihr das Umsetzen? -> Er muss etwas sein, dass für kommerzielle Zwecke erlaubt ist.

Danke für ein paar Tipps.

Thema: Wie kann ich unter Windows 10 den Benutzernamen auslesen?
Am im Forum: Rund um die Programmierung

Einwandfrei.
Ja, Benutzername und Loginname sind für mich 2 Unterschiedliche.
Aber das mit UserPrincipal hat funktioniert, so wie ich es will.
Danke

Thema: Wie kann ich unter Windows 10 den Benutzernamen auslesen?
Am im Forum: Rund um die Programmierung

Zitat von Palladin007
Das Format ist doch:

Domain\User

Splitte doch nach dem Backslash?

Ja, aber der Domain Username ist kryptisch :)
Trotzdem erscheint später dann der korrekte Name, bzw. beiden.
Wenn ich auf Account gehe sehe ich:
Nachname, Vorname
Domain/LoginName
Den Login-Name lese ich dann leider immer mit dem genannten Befehl aus :(

Thema: Wie kann ich unter Windows 10 den Benutzernamen auslesen?
Am im Forum: Rund um die Programmierung

Hallo zusammen.

Ich würde gerne unter Windows 10 den Benutzername auslesen.
Mit Environment.Username erhalte ich den Netzwerk Benutzername.
Wenn ich aber unter Win10 auf das Symbol im Taskmenü mit der Maus fahre (über dem Zahnrad), dann erscheint dort der reale Name.

Wie kann ich diesen in C# erhalten?
Ich finde bei der Suche immer nur die oben genannte "Lösung".

Danke!

Thema: Wie kann ich die USB-EthernetadapterKonfiguration unterschiedlicher Adapter behalten?
Am im Forum: Smalltalk

Nicht nur in Deutschland ist das so :)

Thema: Wie kann ich die USB-EthernetadapterKonfiguration unterschiedlicher Adapter behalten?
Am im Forum: Smalltalk

Ja, wie schon von mir geschrieben, sehe ich das alles auch so, aber es ist nun mal nicht möglich.
Mich würde der Prozess da hinter interessieren.
Wie und wo sichert sich Windows die Einstellungen für den Adapter?
Kann ich ggf. die Zuweisung per MAC umstellen auf Treiberbasiert?
Kann man ein Script/Programm aufsetzen, dass das kann?

Danke

Thema: Wie kann ich die USB-EthernetadapterKonfiguration unterschiedlicher Adapter behalten?
Am im Forum: Smalltalk

Hallo.

Wir haben hier für den Ethernet Zugriff mehrere D-Link USB-Adapter zur Verfügung.
Die 2in1 Tablets/Notebooks haben leider keinen "richtigen" Netzwerkstecker mehr.

Wenn ich nun einen Adapter einrichte, um nicht per WLAN großen Datenmengen in Netzwerk zu schieben, ist alles ok.
Wenn ich fertig bin, lege ich den Adapter in den Pool zurück.

Beim nächsten Mal erwische ich nicht exakt den selben Adapter.
Wenn ich den nun einstecke, ist meine vorherige Einstellung "weg".
Sprich, ich muss IP-Adresse und Standardgateway wieder neu eintragen.
Sobald ich den selben Adapter wieder erwische, sind alle Einstellung korrekt.

Auch wenn es immer der gleiche Adapter von D-Link ist, scheint Windows die Adapter anhand der MAC-Adresse zu unterscheiden.

Gibs einen Trick oder eine Einstellung, dass Windows dies nicht interessiert und nur der Typ des Adapters (D-Link DUB 1312) wichtig ist?
Kann ich noch was anderes machen?
Wir haben hier 14 Adapter in der Firma und ich finde das nervig.

Und nein, wir haben kein DHCP und nein, die IT wird das nicht einführen.
Und nein, ich weiß nicht warum und es interessiert mich auch nicht :)

Danke für eure Tipps.

Thema: Tool zur Versionsverwaltung von mehreren Entwicklungen (nicht Sourcecode!)
Am im Forum: Rund um die Programmierung

Bei dem Team sind die Köpfe nicht umstellbar :)
Leider

Thema: Tool zur Versionsverwaltung von mehreren Entwicklungen (nicht Sourcecode!)
Am im Forum: Rund um die Programmierung

Nein, leider nicht. MatLab funktioniert nicht richtig und die Entwickler lehnen eine Cloud basierte Lösung ab, da die Funktionen in MatLab teilweise auch durch Patente geschützt dort dann "offen" wären.

Thema: Tool zur Versionsverwaltung von mehreren Entwicklungen (nicht Sourcecode!)
Am im Forum: Rund um die Programmierung

Sorry, eine Info vergessen, welche einen Build Server ausschließt.

Die Systeme sind unterschiedlich, sprich dass die Source Codes teilweise so speziell sind, dass sie nur mit den Tools des Lieferanten funktionieren.
Bedeutet, dass das fertige Compilat nur durch das Tools selbst erstellt werden kann.

Das bereitet mir Kopfzerbrechen.

DevOps kann das nicht, GITxxx kann das nicht, Atlassian kann das nicht...

Daher liefert jedes Entwicklerteam seinen letzten Build ab und dann generieren wir das Master Image.

Thema: Tool zur Versionsverwaltung von mehreren Entwicklungen (nicht Sourcecode!)
Am im Forum: Rund um die Programmierung

Hallo.

Wir haben hier mehrere Programme/Entwicklungen, welche jeweils von unterschiedlichen Teams betreut werden.
Jeder generiert ein Release und erstellt dazu auch Notes.

Nun wird eine gemeinsame Plattform eingeführt, welche in Zukunft alle Entwicklungen vereinen soll.

Damit bei dem "Master" Release dieser Plattform alle zu diesem Zeitpunkt gültigen Versionen in die Notes aufgenommen werden, suche ich ein Tool, dass dies für mich verwalten kann.

Folgendes:
- Jedes Team hat sein eigenen GIT mit den Source Files.
- Jedes Team generiert das Release Build selbst und stellt es an einem zentralen Platz zur Verfügung.
- Beim Build erstellen wird von jedem Team ein Release Notes erstellt mit einer freigegeben Versionsnummer
- Dies soll nun von einem Tool selbst "erkannt" werden, oder von den jeweiligen Teams mit Daten versorgt werden, so dass beim Masterrelease alle Daten zentral zur Verfügung stehen und dort hergezogen werden können.

Gibt es sowas? Hat da jemand Tipps?

Im Dokument soll dann später sowas stehen (Kurzversion):
Release der IPC Plattform v1.3.1
Beinhaltet folgende Applikationen:
App x1 v2.1.4 (gültig ab IPC v1.0.0)
App x2 v1.0.4 (gültig ab IPC v1.2.0)
App x3 v4.0.0 (gültig ab IPC v1.3.1)
etc....

Danke

Thema: Windows Service als Lizenzserver + DLL für Apps
Am im Forum: Grundlagen von C#

Hallo.

Ich bin auf der Suche nach Tipps, Tricks und Tutorials zum oben genannten Thema.

Vorhaben:
Im Moment werden alle Apps im Haus mit einer Funktion im Programm zur Lizenzprüfung ausgestattet. Dabei "muss" im jedem Programm ein Lizenzschlüssel eingegeben werden.

Wenn wir nun mehrere Apps auf dem PC installieren, ist der Aufwand einfach zu hoch. Updates von dieser Funktion würde auch Einfluss auf alle Programme haben, etc. etc.

Meine Idee ist nun, dass ein lokaler Lizenzserver als Windows Service läuft und hier die Lizenzen geprüft werden. Die Lizenz wird als eine Lizenz erstellt mit allen Freigabe/Laufzeiten alles Programme, welche auf diesem PC laufen sollen.
Die Lizenz wird nicht mehr von Hand eingetragen, sondern per USB-Stick (später ggf. über Cloud) übertragen.
Die jeweiligen Apps fragen dann den Lizenzserver ab, ob eine Lizenz für sie vorhanden ist.
Das Prüfen im Programm erfolgt dann mit einer eingebundenen DLL, welche die Kommunikation mit der Server und das Prüfen alles handelt und das Ergebnis dann dem Programm mitteilt.

Vielleicht gibt es auch OpenSource Projekte oder sonstiges, wo ich mich anlehnen kann (muss ja nicht das Rad neu erfinden).

Danke für eure Tipps

Thema: Outlook User auslesen, wenn User keine Adminrechte hat
Am im Forum: Rund um die Programmierung

Ja, bei 15.000 Mitarbeitern und 9.000 in der Entwicklung ist ein 20 Jahre alte Vorgehensweise noch "frisch" :)

Thema: Outlook User auslesen, wenn User keine Adminrechte hat
Am im Forum: Rund um die Programmierung

Ziel ist es die Email und den Name des angemeldeten Benutzer zu erfahren, um beim Erstellen von Produktfreigaben im Logfile dies abzulegen.

Der Windows Benutzer ist eine IT Nummer ohne Bezug. Unter Outlook erhalte ich halt diese Infos.
Es ist aber so, dass diese Erstellung auch erfolgen soll, wenn der Nutzer nicht online ist. Daher wäre eine "offline" Lösung gewünscht.

Und für mich ist es nicht logisch dass eine Anfrage an Outlook nur mit Adminrechten funktioniert.

Wie erhalte ich nun die Infos vom Nutzer?
Bin für jeden Tipp dankbar.

Thema: Outlook User auslesen, wenn User keine Adminrechte hat
Am im Forum: Rund um die Programmierung

Hallo zusammen.

Mit folgendem Code kann ich die User-Daten aus Outlook auslesen, um diese später zu verwenden.


try
            {
                // Check whether there is an Outlook process running.
                if (Process.GetProcessesByName("OUTLOOK").Count() > 0)
                {
                    // If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
                    application = Marshal.GetActiveObject("Outlook.Application") as Outlook.Application;
                }
                else
                {
                    // If not, create a new instance of Outlook and sign in to the default profile.
                    application = new Outlook.Application();
                    Outlook.NameSpace nameSpace = application.GetNamespace("MAPI");
                    nameSpace.Logon("", "", Missing.Value, Missing.Value);
                    nameSpace = null;
                }

                Outlook.Accounts accounts = application.Session.Accounts;

                // Concatenate a message with information about all accounts.
                // StringBuilder builder = new StringBuilder();

                // Loop over all accounts and print detail account information.
                // All properties of the Account object are read-only.
                foreach (Outlook.Account account in accounts)
                {
                    // The UserName property provides an account-based context to determine identity.
                    string[] OutlookName = account.UserName.Split('.');

                    AppVariable.ActiveUsername = OutlookName[0].ToUpper() + " " + OutlookName[1].ToUpper();

                    // The SmtpAddress property provides the SMTP address for the account.
                    AppVariable.ActiveEMailAddress = account.SmtpAddress;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

Wenn der User aber auf seinem PC keine Admin-Rechte hat, funktioniert dies nicht mehr.
Hat jemand einen Tipp, wie ich das auch ohne Adminrechte zum Laufen bekommen, bzw. wo liegt der "Fehler"?!

Vielen Dank

Thema: Consolen Programm fehlerhaft bei Leerzeichen im Pfad -> Wie Nutzung ermöglichen?
Am im Forum: Grundlagen von C#

@david.m: Genau. Und das macht mir zu schaffen :) Aber habs mit der Sonderlösung jetzt im Griff. Unschön, aber läuft.

Thema: Consolen Programm fehlerhaft bei Leerzeichen im Pfad -> Wie Nutzung ermöglichen?
Am im Forum: Grundlagen von C#

Hmmm, schade.
Ich kopiere jetzt das Consolen-Programm in C:\Temp\ und rufe es von dort immer auf. Läuft, aber unschön.
Wenn mein Programm geschlossen wird, lösche ich das Consolen-Programm in Temp wieder.

Die Idee von MarsStein wäre jetzt zu aufwendig, würde ich mir aber mal bei Gelegenheit anschauen.

Danke für eure Tipps.

Thema: Consolen Programm fehlerhaft bei Leerzeichen im Pfad -> Wie Nutzung ermöglichen?
Am im Forum: Grundlagen von C#

Ok, vielleicht habe ich mich falsch ausgedrückt. Daher nochmal etwas detaillierter.

Ich befinde mich im Windows 10 CMD-Fenster. Mein Programm läuft nicht, VS läuft nicht. Der Cursor blinkt und wartet auf Eingabe.

Anzeige -> C:\

Ich schreibe: cd Test Pfad

Anzeige -> C:\Test Pfad\
Cursor blinkt hier.

Ich schreibe: consolenprogramm und drücke Enter

Es kommt die Meldung:
Fehler: Aufruf der internen Funktion zur Übertragung der Datei auf die Steuerung fehlgeschlagen. Grund: Der Aufrufpfad beinhaltet Leerzeichen, was nicht erlaubt ist.

Schreibe: cd.. + Enter
Schreibe: cd TestPfad + Enter (!!! Ordner hat KEINE Leerzeichen)
Schreibe: consolenprogramm + Enter
Programm läuft durch.

Das hat also nix mit meinem Code erstmal zu tun. Da ist was im Programm selbst, was dann nicht funktioniert.
Nun war die Frage, ob ich das unabhängig vom Pfad trotzdem starten kann, so dass das Programm meint, im Pfad ist kein Leerzeichen drin, obwohl es in so einen Pfad installiert wurde.
Kann man sowas über C# "vorgaukeln".

Den Rest verstehe ich ja :)
Vielen Dank schonmal für eure Hilfe dazu.

Thema: Consolen Programm fehlerhaft bei Leerzeichen im Pfad -> Wie Nutzung ermöglichen?
Am im Forum: Grundlagen von C#

Zitat von Abt
[Hinweis] Wie poste ich richtig? Punk 5, Fehler genau beschreiben.
Mit "Funktioniert nicht" kann niemand was anfangen.

Es kommt die Meldung vom Programm:
Fehler: Aufruf der internen Funktion zur Übertragung der Datei auf die Steuerung fehlgeschlagen. Grund: Der Aufrufpfad beinhaltet Leerzeichen, was nicht erlaubt ist.

Thema: Consolen Programm fehlerhaft bei Leerzeichen im Pfad -> Wie Nutzung ermöglichen?
Am im Forum: Grundlagen von C#

Nein. Das Problem besteht auch, wenn das Programm direkt im CMD aufgerufen wird.
Pfad mit Leerzeichen funktioniert nicht.
Pfad ohne funktioniert.

Beispiel:

Win+R -> CMD -> Enter

CD Test Pfad
Consolenprogramm.exe
---> Funktioniert nicht

CD TestPfad
Consolenprogramm.exe
Funktioniert