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).
How to log the installation date to the registry
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
Example usage : <RegistryValue Type="string" Name="InstalledOn" Value="[Date]"/> –
Slideaction
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.". –
Slideaction
For both date and time here is some sample code.
<RegistryValue Id="InstallDateTime"
KeyPath="yes"
Name="InstallDateTime"
Value='[Date] [Time]'
Type="string" />
If you want to use separator you can simply add it as text like:
<RegistryValue Id="InstallDateTime"
KeyPath="yes"
Name="InstallDateTime"
Value='[Date]-[Time]'
Type="string" />
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!!
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. –
Slideaction
#11182347 –
Yongyoni
© 2022 - 2024 — McMap. All rights reserved.