vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
EXE-Datei Personalisieren 
Autor: Tommi467
Datum: 31.03.17 11:24

Hallo zusammen,

ich brauche mal einen Tipp, welche Möglichkeiten ich habe,
eine EXE-Datei zu personalisieren.

Dabei sind folgende Kriterien gegeben:

- Das Programm soll von jedem Mitarbeiter benutzt werden.

- Für jeden Mitarbeiter müssen aber 3 Variablenwerte konfiguriert werden.

- Die Identifikation des Mitarbeiters DARF nicht über die
Netzanmeldung erfolgen.

- Nach Möglichkeit soll die Personalisierung NICHT über
eine zusätzliche Datei gehen.

- Die 3 Parameter müßten aber jederzeit editierbar sein
ohne die EXE neu zu kompilieren.

Der Geschäftsführung schwebte vor für jeden Mitarbeiter eine
eigene EXE. Aber das ist irre, da noch etliche Änderungen
kommen werden und jedes mal alle EXE-Dateien neu erstellt
werden müssten.

Eine Möglichkeit wäre eine Konfig.Datei. Das lehnt aber wieder
die Geschäftsführung ab, die nur eine einzige Datei (die EXE)
haben will.

My.Settings geht auch nicht, da die Geschäftsführung höchst
selbst diese 3 Parameter setzen will.

Gibt es hierfür überhaupt eine Lösung???
Ich hoffe, ich habe mich so ausgedrückt, das rüber kam was
gefordert ist...

Gruß und schönes Wochenende
Tommi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Manfred X
Datum: 31.03.17 12:27

Hallo!

Eine relativ einfache Lösung wäre es, diese Geschäftsleitung auszuwechseln.

Was genau wird mit dieser "Personalisierung" bezweckt?
Welche Parameter will das Management für die Mitarbeiter setzen?
Was sagt eigentlich der Betriebsrat - falls es einen gibt -
zu dieser Angelegenheit?

Normalerweise werden Zugriffe auf Datenbestände für bestimmte
Nutzergruppen beschränkt. Die direkte Manipulation von ausführbaren
Anwendungs-Programmen ist weder zweckmäßig noch kann ich einen
sinnvollen Nutzen dabei erkennen.

Beitrag wurde zuletzt am 31.03.17 um 12:31:01 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: sv00010
Datum: 31.03.17 18:33

Tommi467 schrieb:
Zitat:


- Für jeden Mitarbeiter müssen aber 3 Variablenwerte
konfiguriert werden.

- Die Identifikation des Mitarbeiters DARF nicht über die
Netzanmeldung erfolgen.

- Nach Möglichkeit soll die Personalisierung NICHT über
eine zusätzliche Datei gehen.

- Die 3 Parameter müßten aber jederzeit editierbar sein
ohne die EXE neu zu kompilieren.


Zitat:


Gibt es hierfür überhaupt eine Lösung???
Ich hoffe, ich habe mich so ausgedrückt, das rüber kam was
gefordert ist...

Gruß und schönes Wochenende
Tommi

Das einzigste was mir dazu einfällt, wäre dazu Schlüssel in der Windows-Registry anzulegen,
statt einer Datei.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: visualfx
Datum: 31.03.17 19:26

Hallo Tommi,

ja, das ist möglich! Du brauchst definitiv nicht jeweils eine eigene Exe für jeden Mitarbeiter. Das was der Linker erledigt, kannst Du auch programmgesteuert erledigen

Schau Dir mal die 3 folgenden Funktionen an:

- BeginUpdateResource: https://msdn.microsoft.com/de-de/library/windows/desktop/ms648030(v=vs.85).aspx

- UpdateResource: https://msdn.microsoft.com/de-de/library/windows/desktop/ms648049(v=vs.85).aspx

- EndUpdateResource: https://msdn.microsoft.com/de-de/library/windows/desktop/ms648032(v=vs.85).aspx

1) mit diesen 3 Funktionen kannst Du an eine Exe beliebige eigene Resourcen dranhängen, Resource type z. B. RT_RCDATA oder RT_STRING

2) Du mußt aber dafür eine eigene Editor-App erstellen, die manipulierte Exe darf nämlich (noch) nicht gestartet sein - d. h.: eine Exe kann sich nicht selbst manipulieren!

Diese Editor-App kannst Du ja mit Benutzername und Kennwort schützen, so daß nur die Geschäftsleitung die Werte ändern kann

3) evtl. gibt es auch .NET-Klassen / -Methoden dafür (ich entwickle hauptsächlich mit Microsoft Visual FoxPro und VB6)

- noch ein Hinweis: wenn es von der Exe eine neue Version gibt und diese auf die PCs der X Mitarbeiter ausgerollt wird, darf die Geschäftsleitung natürlich auch wieder X-mal die Editor-App bemühen . . .

Gruß, Stefan

Beitrag wurde zuletzt am 31.03.17 um 19:34:42 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Franki
Datum: 01.04.17 04:53

Hallo Tommi467
Zitat:


ich brauche mal einen Tipp, welche Möglichkeiten ich habe,
eine EXE-Datei zu personalisieren.

Dabei sind folgende Kriterien gegeben:

- Die Identifikation des Mitarbeiters DARF nicht über die
Netzanmeldung erfolgen.


Ok, dann musst du in deiner Anwendung eine eigene Anmeldung einbauen um den jeweiligen User identifizieren zu können. Also bei Start der Anwendung muss der User seinen Usernamen und Passwort z.B. eingeben.

Zitat:


- Nach Möglichkeit soll die Personalisierung NICHT über
eine zusätzliche Datei gehen.


Aber nur so geht es, ob es eine Datei, eine Datenbank oder was auch immer ist bleibt dir überlassen. Du kannst Dateien auch verschlüsseln so dass ein normaler User sie nicht lesen kann. Oder du lagerst das auf einen Netzwerkrechner oder eine Cloud aus wo der User keinen Zugriff hat.

Zitat:


Der Geschäftsführung schwebte vor für jeden Mitarbeiter eine
eigene EXE. Aber das ist irre, da noch etliche Änderungen
kommen werden und jedes mal alle EXE-Dateien neu erstellt
werden müssten.


Ja das wäre in der Tat völliger Blödsinn so etwas machen zu wollen

Zitat:


Eine Möglichkeit wäre eine Konfig.Datei. Das lehnt aber wieder
die Geschäftsführung ab, die nur eine einzige Datei (die EXE)
haben will.

My.Settings geht auch nicht, da die Geschäftsführung höchst
selbst diese 3 Parameter setzen will.

Gibt es hierfür überhaupt eine Lösung???
Ich hoffe, ich habe mich so ausgedrückt, das rüber kam was
gefordert ist...


Wie gesagt, du musst mit verschlüsselten Daten / Dateien arbeiten.
Denn wenn etwas gespeicht (und durch die Geschäftsführung) editiert werden soll, dann müssen diese Daten ja irgendwo gespeichert werden. Wo auch immer, es muss einen Zugriffsmechanismus geben damit derjenige der berechtigt ist darauf zugreifen kann und derjenige der es nicht ist eben nicht.

Für die berechtigten Personen musst du ein eigenes Anmeldekonto erstellen so dass diese dann Änderungen vornehmen können.

Eine eigene EXE pro User ist nicht sinnvoll, aber wenn der Kunde darauf besteht (sorry für den Einwand meinerseits), dann erstelle sie halt und du verdienst richtig Geld Der Kunde ist König und wenn er das so möchte, warum nicht. Wenn das dann mal 1000 User sind und mehr Parameter dazu kommen kannst du vorzeitig in Rente gehen oder 10 Mitarbeiter einstellen die die jeweils neuen EXE Dateien erstellen

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Vaubehnet
Datum: 19.04.17 08:30

Hallo Tommi,

zum Thema "sich selbst ändernde EXE" haben die Kollegen sich ja schon geäußert (Wie heißt das Programm: "Ouroboros"? ).
Selbst WENN die EXE - ohne Kompilieren - änderbar wäre, müsste diese ja nach jeder Änderung neu ausgerollt werden. Damit führt kein Weg an einem wie auch immer gearteten Datencontainer vorbei.

Zitat:

Eine Möglichkeit wäre eine Konfig.Datei. Das lehnt aber wieder
die Geschäftsführung ab, die nur eine einzige Datei (die EXE)
haben will.


Ich lese das so, dass nicht auf jedem einzelnen Rechner eine Steuerdatei liegen soll. Aber zentral...?

Vielleicht hilft Dir mein Lösungsansatz, da ich einen ähnlichen Fall habe (allerdings ohne den GF und auf Wunsch der Kollegen).
Wir nutzen hier auch ein Programm, welches in Abhängigkeit vom Nutzer verschiedene Menü-Optionen bietet. Die einen benötigen z.B. nur Daten zu bestimmten Personengruppen, die anderen zu einem Projekt A, die nächsten zu Projekt B.

- Den Nutzer identifiziere ich anhand von "Machine.Environment". Das geht, da jeder Mitarbeiter einen eigenen Rechner hat und der Rechnername daher reicht, um den Anwender zu identifizieren. In Abhängigkeit davon werden bestimmte Menüpunkte an- und abgeschaltet.
Das musste ich nur einmal über ein Select-Case-Statement einstellen.

- Falls Ihr ein Laufwerk habt, auf das alle Mitarbeiter zugreifen können, kann man da eine Datei unterbringen. Das hat ja nichts mit der Einschränkung "Die Identifikation des Mitarbeiters DARF nicht über die Netzanmeldung erfolgen." zu tun.

Möglicher Aufbau:
Rechner1;Parameter1;Parameter2;Parameter...n
Rechner2;Parameter1;Parameter2;Parameter...n
Rechner3;Parameter1;Parameter2;Parameter...n
...

Das hätte folgende Vorteile:
- Dein GF kann von seiner EXE aus die Parameter ändern. Die Datei wird dann einfach neu geschrieben.
- Beim Aufruf derselben EXE von einem Kollegen ruft diese Exe die zentrale Datei auf und prüft die Einstellungen, die für den jeweiligen Rechner gelten.
- Die Exe muss nicht neu kompiliert werden.
- Weitere Parameter lassen sich so zügig integrieren.
- Wenn die Exe an verschiedenen Stellen der Programmierung das Datum der Steuerdatei ausliest, dann könnte man prüfen, ob diese verändert wurde. Wenn ja, kannst Du das Beenden der Exe erzwingen, damit die neuen Regeln des GF direkt umgesetzt werden ("JA, der Müller kam mir heute krumm, dem mache ich das Programm heute ganz in rosa... und die Schriftart auf Comic Sans Serif, 6 Punkt, jaaaaa...")

Beste Grüße
Vaubehnet

---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Tommi467
Datum: 19.04.17 13:13

Hallo Vaubehnet,

vielen Dank für deine Antwort. In der Tat suche ich noch immer einen Ansatz
um die EXE für jeden Mitarbeiter zu verhindern.

Machine.Environment ist dabei leider auch kein Weg, da es im Prinzip auch
nicht viel anders ist wie der Anmeldename. Nein, das ist leider keine Variante.

Das zweite Problem ist (deshalb auch nur EINE DATEI), wir haben auch Mitarbeiter
bei den Kunden sitzen, die die dortigen Rechner benutzen. Von daher funktioniert
Machine.Environment sowieso nicht.

Drittens: Die GF ist bei uns NICHT im Netz !!! Ja, richtig gelesen. Die GF ist
mit ihren Rechnern NICHT im Netz. Frag mich bitte nicht, wie die Daten der
Mitarbeiter zur GF kommen... das willst du gar nicht wissen !!!

Nein, ich muss weiter suchen und schauen, ob ich da noch irgendwas getrickst
bekomme...

Warum einfach wenn's auch umständlich geht.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Franki
Datum: 20.04.17 02:26

Hallo,

das wird ja immer kurioser...

Zitat:

Das zweite Problem ist (deshalb auch nur EINE DATEI), wir haben auch Mitarbeiter bei den Kunden sitzen, die die dortigen Rechner benutzen.


Und da dürften eure Mitarbeiter einfach so eine Exe austauschen ohne Prüfung bzw. Genehmigung der bei den Kunden verantwortlichen Admins? Das ist aber auch nicht grade üblich. Vielleicht wäre das ja eine Ansatzmöglichkeit die GF davon zu überzeugen, dass doch irgendwo (online) zumindest eine Konfigurationsdatei erreichbar ist. Die Kunden müssten natürlich mit spielen...

Zitat:

Die GF ist bei uns NICHT im Netz !!! Ja, richtig gelesen. Die GF ist
mit ihren Rechnern NICHT im Netz.


Und wie stellt sich die GF dann vor die Parameter kurzfristig ändern zu wollen wenn es sich um die Exe eines eurer Mitarbeiter bei einem Kunden handelt? Und wie verwalten sie denn den jeweils aktuellen Stand des jeweiligen Mitarbeiters?

Ich glaube du wirst es schwer haben da eine vernünftige bzw. zeitgemäße Lösung zu finden. Allerdings hast du einen sicheren Arbeitsplatz als EXE-Ersteller. Um wie viele verschiedene Mitarbeiter (lokal und bei Kunden) handelt es sich denn und wie oft soll da was geändert werden? Wenn das nur ein paar sind, Änderungen selten, dann mache es halt wie die GF möchte, wenn es viele sind, dann siehe oben. (Und auch der erste Hinweis von ManfredX)

Gruß und viel Erfolg,

Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Manfred X
Datum: 20.04.17 08:39

Firmennetzwerke beziehen oft Zulieferer und Kunden ein.
Sie sind - insbesondere internationale Systeme - hoch gesichert.
Selbst der lokale Netzwerk-Admin besitzt in solchen Fällen nur sehr
begrenzte Rechte.
Jeder Versuch, ohne Genehmigung Programme zu installieren oder Installationen
zu ändern, wird erkannt, verhindert und führt zu weiteren Konsequenzen.
Das können sogar (hohe) Strafzahlungen sein, z.B. weil Teilnetze automatisch
aus Sicherheitsgründen abgeschaltet worden sind.
Vor dem Start einer Exe-Datei wird deren Gültigkeit mit Referenz-Werten
abgeglichen und ggf. blockiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Tommi467
Datum: 20.04.17 08:49

Hallo Frank,

tja, den aller ersten Vorschlag 'FrontEnd' hat man ja
direkt verworfen, weil zu unsicher :-O Dabei ist der
Transport bei der jetzigen Variante deutlich unsicherer !!!
Ich denke mal es ging mehr nach dem Motto, "wat de Bauer
nich kennt dat frißt er nich".

Zum Glück laufen die Programme beim Kunden. Müssen dort
einer Virenprüfung unterzogen werden und dann geht es.
Aber eben nur, wenn die Software nicht installiert werden
muss.

Frag mich nicht, wie die GF da reagieren will, denn selbst
ich soll die Parameter nicht zu sehen bekommen.
Jetzt heißte es, man wolle selbst kompilieren... :-O

Ich sag da nix mehr zu. Wenn es wirklich kritische Daten
wären ok, aber es geht hier um PillePalle...

Also besorge ich jetzt noch eine VS-Version, installiere
die bei einem der GF, übergebe dem dann regelmäßig den
Source und kann dann wahrscheinlich immer Baby-Sitter
spielen.

Wer keine Arbeit hat...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: effeff
Datum: 20.04.17 12:13

Du könntest die Parameter aus einer bestimmten Datenbank, z. B. aus dem Internet oder an zentraler Stelle des Firmennetzwerkes laden.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Manfred X
Datum: 20.04.17 12:45

Naja.

Eigentlich gibt es in dieser Datenbank für jeden Mitarbeiter einen Eintrag.

Dort hinterlegt die GF die "persongerecht" manipulierten Quellcodes.

Der Mitarbeiter startet das Anwendungs-Programm und identifiziert sich gegenüber
der Code-Datenbank.

Von dort wird sein aktuell zugeordneter Quellcode durch die Anwendung abgefragt,
über den VB-CodeDom zu einer In-Memory-DLL kompiliert, eine Instanz dieser
DLL generiert und an die Anwendung angebunden (Implementierung einer gemeinsamen
Schnittstelle -> laufzeit-gereriertes Plugin).

Beitrag wurde zuletzt am 20.04.17 um 13:02:38 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Tommi467
Datum: 20.04.17 13:13

Geht nicht, hat nicht jeder Zugriff drauf.
z.B. die externen Stellen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Tommi467
Datum: 20.04.17 13:20

Genau das hatte ich auch vorgeschlagen und auch so bereits
implementiert gehabt. ABER !!! Das ist der GF trotz Kennwort
auf der DB nicht sicher genug bezgl. Manipulationen.
(Kommentar: Schon mal im Internet nach 'Passwort vergessen' gegoogelt?)

Ich habe jetzt noch die Idee gehabt, eine zusätzliche Spalte
mit einer Checksumme einzusetzen. Zumindest hier ist ein Teil
der GF angetan und nicht mehr ganz abgeneigt.

So werde ich das jetzt erst einmal aufbauen, optional zu der
'EXE-Variante'. Ich muss heute damit fertig werden, da ich
ab nächste Woche Urlaub habe. Da haben die Herren dann zwei
Wochen Zeit sich zu überlegen was sie wollen.

Zumindest der 1.GF scheint jetzt bereit zu sein auf diese
Variante umzuschwenken. Aber man weiß nie...
Ich werde in zwei Wochen schlauer sein.

Allen, die sich hier mit Ideen eingebracht haben, erst einmal
vielen Dank!!!!

Beitrag wurde zuletzt am 20.04.17 um 13:22:50 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Manfred X
Datum: 20.04.17 13:51

Die GF sollte Kontakt mit einer qualifizierten Firma für IT-Sicherheit aufnehmen.
Ich fürchte, Dein "Herumwursteln" schafft mehr Probleme als es löst.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: sv00010
Datum: 20.04.17 17:44

Manfred X schrieb:
Zitat:

Die GF sollte Kontakt mit einer qualifizierten Firma für
IT-Sicherheit aufnehmen.
Ich fürchte, Dein "Herumwursteln" schafft mehr
Probleme als es löst.

Vor allem ist er dann der "Schuldige". Dass die Geschäftsführung keine Ahnung hat, zählt in solchen Firmen nichts.

Beitrag wurde zuletzt am 20.04.17 um 17:44:38 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: EXE-Datei Personalisieren 
Autor: Franki
Datum: 21.04.17 03:00

Hallo,

Zitat:

Frag mich nicht, wie die GF da reagieren will, denn selbst
ich soll die Parameter nicht zu sehen bekommen.
Jetzt heißt es, man wolle selbst kompilieren... :-O


Das wird ja immer geheimnisvoller. Aber vielleicht kannst du sie dazu überreden die Anwendung gleich selbst zu programmieren.

Zitat:

Also besorge ich jetzt noch eine VS-Version, installiere
die bei einem der GF, übergebe dem dann regelmäßig den
Source und kann dann wahrscheinlich immer Baby-Sitter
spielen.


Das würde ich nicht so machen, denn wenn dann etwas schief läuft heißt es immer "wir haben nichts gemacht" und du wirst für Probleme verantwortlich gemacht für die du nichts kannst. Den Quellcode übergeben würde ich nur dann wenn ich aus dessen Verantwortung auch entlassen werde.

Und wenn die so geheimnisvoll sind, dass du selbst die Änderungen nicht wissen darfst die du machen sollst, dann herrscht da seitens der GF eher Paranoia anstatt eines Vertrauensverhältnisses zu dir als Entwickler. Ds ist keine gesunde Basis meiner Meinung nach.

Ich wünsche dir einen schönen Urlaub und bin auf deinen Bericht danach gespannt.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel