How to log the installation date to the registry
Asked Answered
S

3

8

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).

Slideaction answered 19/4, 2010 at 7:4 Comment(0)
S
10

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
Smother answered 19/4, 2010 at 11:32 Comment(2)
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
L
8

For both date and time here is some sample code.

<RegistryValue Id="InstallDateTime"
               KeyPath="yes"
               Name="InstallDateTime"
               Value='[Date] [Time]'
               Type="string" />

enter image description here

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" />

enter image description here

Lima answered 6/7, 2012 at 13:19 Comment(0)
B
0

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!!

Because answered 19/4, 2010 at 7:13 Comment(2)
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
#11182347Yongyoni

© 2022 - 2024 — McMap. All rights reserved.