RunAsDate v1.21 - Run a program with the specified date/time
Copyright (c) 2007 - 2013 Nir Sofer

See Also

  • NirCmd - Do many useful tasks from command-line, without displaying any user interface.

Description

RunAsDate is a small utility that allows you to run a program in the date and time that you specify. This utility doesn't change the current system date and time of your computer, but it only injects the date/time that you specify into the desired application.
You can run multiple applications simultaneously, each application works with different date and time, while the real date/time of your system continues to run normally.

How does it work ?

RunAsDate intercepts the kernel API calls that returns the current date and time (GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime), and replaces the current date/time with the date/time that you specify.

System Requirements

RunAsDate works under Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7, and Windows 8. Older versions of Windows are not supported. The is also x64 version available in a separated download, for using with x64 applications.

Important Notice !!
I get many email messages that say something like "I tried to extend the trial period of xyz software with RunAsDate and it didn't work". Running a software with different date/time can be used for many legitimate purposes and for these purposes RunAsDate was created. I have never said implicitly or explicitly that RunAsDate can be used for extending the trial period of a software. For some shareware programs, RunAsDate might really work, but many shareware creators are smart enough to detect that the date/time was modified and when they detect the time change, they end the trial period immediately.
Please don't bother yourself to send me a question about extending the trial period of a software, because these kind of messages are simply deleted without answering.

Versions History

  • Version 1.21:
    • Fixed bug with 'Move the time forward according to the real time' option: After around 7 minutes from the time that the application was started, RunAsDate failed to calculate the time properly.
  • Version 1.20:
    • Added 'Return to the current date/time after xx seconds' option.
  • Version 1.16:
    • Fixed bug: RunAsDate removed a quote character when using it in the {Program parameters} section of the command-line string.
  • Version 1.15:
    • Fixed RunAsDate to work properly on Windows 8 64-bit.
  • Version 1.11:
    • Added Drag & Drop support: You can now choose the .exe file to run by dragging it from Explorer into the main window of RunAsDate.
  • Version 1.10:
    • Added auto complete support in the filename field.
    • Added x64 version.
  • Version 1.05:
    • Fixed bug: When using 'Create Desktop Shortcut', the /immediate and /movetime options were not added to the shortcut's command-line
  • Version 1.04:
    • The main dialog-box is now resizable.
  • Version 1.03:
    • Added 'Immediate Mode' - Change the date immediately when the program starts.
  • Version 1.02:
    • New option: Move the time forward according to the real time.
  • Version 1.01:
    • New option: Create a shortcut on your desktop that will run a program with the date/time that you specify.
    • When you don't specify the time in the command-line, the current time will be used, instead of 00:00:00.
  • Version 1.00 - First release.

Using RunAsDate

RunAsDate doesn't require any installation process or additional DLL files. In order to start using it, simply copy the executable file (RunAsDate.exe) to any folder you like, and run it.
In the main window of RunAsDate, select the desired date and time and the application that you want to run. Optionally, you can also specify the command-line parameters to run the program. Press the "Run" button to start the application with the specified date/time.

Immediate Mode

In versions prior to 1.03, RunAsDate always waited until the kernel was fully loaded, and only then injected the desired date/time. This mean that some programs that get the date/time im very early stage, received the real current date/time, instead of the fake date/time of RunAsDate. Starting from version 1.03, when the 'Immediate Mode' is turned on, RunAsDate inject the date/time immediately when the process starts, without waiting to the kernel loading. However, this mode can also cause troubles to some applications, especially if they were written in .NET

If executing an application from RunAsDate cause it to crash, you should turn off the 'Immediate Mode'.

Using RunAsDate from Command-Line

You can also use RunAsDate from command-line, with the following syntax:
RunAsDate.exe {/immediate} {/movetime} {/returntime [seconds] } [dd\mm\yyyy] {hh:mm:ss} [Program to run] {Program parameters}

Examples:
RunAsDate.exe 22\10\2002 12:35:22 "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE"
RunAsDate.exe 14\02\2005 "c:\temp\myprogram.exe" param1 param2
RunAsDate.exe /movetime 11\08\2004 16:21:42 "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE"
RunAsDate.exe /movetime /returntime 15 10\12\2001 11:41:26 "c:\temp\myprogram.exe"

RunAsDate Limitations

  • RunAsDate will not affect applications that take the current date/time from another source. For example: application that loads the current date from remote server.

Translating RunAsDate To Another Language

RunAsDate allows you to easily translate all dialog-boxes and other strings to other languages.
In order to do that, follow the instructions below:
  1. Run RunAsDate with /savelangfile parameter:
    RunAsDate.exe /savelangfile
    A file named RunAsDate_lng.ini will be created in the folder of RunAsDate utility.
  2. Open the created language file in Notepad or in any other text editor.
  3. Translate the dialog-boxes and string entries to the desired language.
  4. After you finish the translation, Run RunAsDate, and all translated strings will be loaded from the language file.
    If you want to run RunAsDate without the translation, simply rename the language file, or move it to another folder.

License

This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don't charge anything for this. If you distribute this utility, you must include all files in the distribution package, without any modification !
Be aware that selling this utility as a part of a software package is not allowed !

Disclaimer

The software is provided "AS IS" without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason.

Feedback

If you have any problem, suggestion, comment, or you found a bug in my utility, you can send a message to nirsofer@yahoo.com

Download RunAsDate
Download RunAsDate for x64

 

 

 

RunAsDate is also available in other languages. In order to change the language of RunAsDate, download the appropriate language zip file, extract the 'runasdate_lng.ini', and put it in the same folder that you Installed RunAsDate utility.

LanguageTranslated ByDateVersion
Filipino Paolo Rodriguez 07/11/20131.0.0.201311061300
Afrikaans Bezman 26/12/20111.0
Arabic Magid Hussein 02/10/2007 
Bosnian Max 19/06/20101.10
Brazilian PortuguesePaulo Guzmn 30/03/20131.16
BulgarianExaFlop 18/01/2009v.1.04.01
Czech Sunny007 09/01/2009 
DutchJan Verheijen 19/09/20131.21
DutchDutch - by Egbert van den Bosch 03/01/20101.0
Farsi PDN 06/11/2009 
FinnishOlli 22/10/2007 
French Eric FICHOT 19/09/20131.21
FrenchGipelle 16/05/2013 
Galician Xos Antn Vicente Rodrguez 07/04/2008 
German Latino auf WinTotal.de 18/09/20131.21
Greek(SpyrosDr) 20/10/2007 
Greek (SkyHi) 31/12/2008 
Hungarian  23/05/2013 
Italian Kar.ma 10/04/20131.20
Italian Giuseppe M. Corsano 30/08/20081.04
Japanese ot_inc 12/06/2009 
Latvian Nizaury 07/02/2011 
Lithuanian Gintarmixas 26/03/2013 
Polish Netgrafik Design 30/05/20131.20
Portuguese Neliton P. 10/05/2008 
Portuguese BrasilCristiano Prates 18/10/2008 
Romanian Jaff (Oprea Nicolae) 18/09/20131.21
Romanian Jaff (Oprea Nicolae) 08/12/20111.11
Russian Ru-Board 05/05/2013v.1.20
Simplified ChineseZXH 18/04/20131.20
Serbian?????? ?????? 05/02/20111.10
Slovakma@fia 07/06/2010v1.10
SlovenianErik Klavora 15/03/2008 
Spanish Mr. Brazzi 26/11/20131.21
SpanishAlbatrosnorte 08/08/08 02/08/2008 
Traditional Chinese ?? King 13/02/20091.05
Thai E b o k 24/11/20081.05
TurkishMustafa Bura AKTA 19/11/2011 
Valencian vjatv 22/06/20091.10