Seite 1 von 1
Ablaufdatum einer virtualisierten App
Verfasst: 30.11.2010, 13:10
von McAbflug
Hallo,
gibt es eine Möglichkeit, dass ich einstellen kann, wie lange sich eine Applikation nutzen lässt?
Anwendung XYZ soll nur bis zum 30.06.2011 laufen, danach nicht mehr.
Gibts da was?
Viele Grüße
Frank
Verfasst: 02.12.2010, 15:07
von celto32
Hi,
ja es geht. Ein Weg wäre z.B. zu schreibst das gewünschte Datum lokal in die die Registry beim ersten Start und prüft dann bei jedem Start der Thinapp ob das Datum schon erreicht ist.
Grüße
Thomas
Verfasst: 10.01.2011, 17:50
von Dinkel
Wie würde das denn bitte genau aussehen, also wie geht man da vor?:?
Was, wenn man die Sandbox dann löscht - kann man das Programm dann wieder starten oder ist das in der EXE des Programms verankert?:shock:
Verfasst: 11.01.2011, 07:37
von celto32
Das Skript welches die Überprüfung macht ist in der Exe enthalten. Du kannst also die Sandbox löschen so viel du willst. Wichtig ist, dass der Regkey außerhalb der ThinApp gesetzt ist.
Grüße
Thomas
Verfasst: 11.01.2011, 09:22
von Dinkel
Bin kein Programmierer, von daher wüsste ich gerne wie man das realisiert - mit der Datumsüberprüfung bzw. "Fristsetzung" wie lang das Tool eben ausführbar sein darf.
Wenn, wie du schreibst, der Regkey außerhalb der Sandbox sein muss, dann stimmts, dann kann man diese löschen und das Prog kann nicht mehr gestartet werden, aber der User kann doch in der lokalen Registry den Key löschen....
Verfasst: 12.01.2011, 12:47
von celto32
Klar kann der User das löschen, oder verändern, aber dazu muss er erst wissen wo der Key ist und dann probieren auf welchen Wert er Ihn setzen muss. Zudem kannst du ja unterbinden das der User den RegKey ändern kann.
Das Skript habe ich grad nicht da, aber werde es heute daheim mal suchen, dann kann ich dir paar Beispiele geben, dass du dir ein Skript schreiben kannst.
Grüße
Thomas
Verfasst: 12.01.2011, 13:33
von Dinkel
Das wäre nett!:)
Vll. kannst du das für einen Laien/Einsteiger dann etwas ausführlicher erklären.
Auch wie ich das mit dem portablen Programm dann "kopple".
Verfasst: 12.01.2011, 13:35
von celto32
Also wie gesagt, es handelt sich dabei eher um Skripten, aber gerne unterstütze ich dich bei deinen Fragen. Vielleicht schaffe ich es das Skript heute noch zu posten, kann es aber nicht versprechen.
Grüße
Thomas
Verfasst: 13.01.2011, 07:51
von celto32
Moin,
wie versprochen folgend der Kernteil meines VB Skripts. Schau mal ob dir das schon weiterhilft, um dir deine Lösung zu bauen. Wenn nicht einfach noch mal bescheid sagen.
Code: Alles auswählen
RegKey = ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\...")
mDateDiff = DateDiff("d", Datum,RegKey)
If mDateDiff < -30 Then
msgbox "Bitte mit Domäne verbinden!"
ExitProcess 0
else
msgbox "Start der Anwendung"
End If
Grüße
Thomas
Verfasst: 13.01.2011, 10:11
von Dinkel
Wenn ich eine Programmiersprache wie VB könnte, dann würde mir das helfen, so aber leider nicht wirklich.
Wie schon geschrieben bin ich kein Programmierer.
Verfasst: 13.01.2011, 14:33
von celto32
Bin auch kein Programmierer und VB kann ich auch nicht.
Grüße
Thomas
Verfasst: 13.01.2011, 14:37
von ideFix
Kannst du das Skript nicht für die Nachwelt hier posten?

Verfasst: 13.01.2011, 14:43
von celto32
Klar kann ich auch machen. Wusste nicht das mehr Leute daran ein Interesse haben.
Also hier mal das komplette VB Skript für die entsprechende Thinapp:
Code: Alles auswählen
'******************************************************************************************
'Autor: Thomas Mederer
'Datum: 04.11.2010
'Version: 1.0
'Beschreibung: Pruefen der Starberechtigung für ThinApp´s
'Bemerkung: Registrywerte werden aus physikalischer Registry ausgelesen
'******************************************************************************************
On Error Resume Next
' Aktuelles Datum einlesen
Datum = Date ()
' Skriptingobjekt definieren
Set ws = CreateObject("WScript.Shell")
' Prueft ob Regkey gesetzt ist
If IsError(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TA\Domainlogon")) Then
WScript.Quit
End If
' Registreirungsschlüssel auslesen und uebergeben
RegKey = ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TA\Domainlogon")
' Datumsvergleich von aktuellem und hinterlegtem Datum
mDateDiff = DateDiff("d", Datum,RegKey)
' Startberechtigung pruefen
If mDateDiff < -30 Then
msgbox "Bitte mit Domäne verbinden!"
ExitProcess 0
else
msgbox "Start der Anwendung"
End If
und als Gegenstück muss man dann einfach noch den Regkey z.B. über ein Loginskript setzen, welches wie folgt aussehen könnte mit Kixtart:
Code: Alles auswählen
$AK=AddKey("HKEY_LOCAL_MACHINE\SOFTWARE\TA")
? "Regkey erstellt"
$year=split(@date,'/')[0]
$mon=split(@date,'/')[1]
$day=split(@date,'/')[2]
$date='$day.$mon.$year'
$RC=WriteValue("HKEY_LOCAL_MACHINE\SOFTWARE\TA", "Domainlogon", $date,"REG_SZ")
If @ERROR = 0
? "Aktuelles Datum eingetragen"
Endif
Das ist es auch schon. Jetzt müsst ihr nur noch das Skript in das Root von eurem Projektverzeichnis kopieren und die Thinapp neu builden.
Have fun!
Grüße
Thomas
Verfasst: 17.01.2011, 08:50
von celto32
Moin,
mal aus interesse für mich: Hat jemand das Skript gezogen und hat Lust mir zu sagen ob es läuft oder nicht?