tags:

views:

77

answers:

2

When an install completes successfully, the date and time and some other info needs to be written to the registry. How can a date be generated and how do you know if an install was completed successfully? (writing to the registry with wix is not a problem).

A: 

Env variables??


Can you access environment variables like PATH etc. ??

  • These return the current system date and time...

    You might want to access %DATE% & %TIME%

Alternately, since You are able to access the Registry, You can access the Env vars in the registry itself:

HKEY_CURRENT_USER\Environment\<variable>

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\<variable>

GoodLUCK!!

CVS-2600Hertz
Interesting - but I cannot find a WIX method to read a env var - the Environment element can "create|set|remove" only. Looking at the registry entries on my machine does not show date or time entries.
MX4399
+3  A: 

What about using standard MSI properties Date and Time?

Note: Be warned that despite the documentation indicating the date will always be in the MM/DD/YYYY format, this is not in fact the case. A verbose MSI log on my system (in Australia) shows the property in DD/MM/YYYY format... e.g.:

Property(S): Date = 21/04/2010
Yan Sklyarenko
Example usage : <RegistryValue Type="string" Name="InstalledOn" Value="[Date]"/>
MX4399
From the MSDN doc Yan referenced it indicates "The format of the value depends upon the user's locale, and is the format obtained using GetDateFormat with the DATE_SHORTDATE option. The value of this property is set by the Windows Installer and not the package author.".
MX4399