I'm new to wix and msi but it looks like you'll need to use a custom action,
you could call into a dll or write a
vbscript (it looks like using scripts in custom actions may be frowned
upon), anyway you can set a property to a new
guid and then reference that, the simplest example would be with a vbscript
custom action.
<Product ...>
...
<Binary Id="VbScriptKit" SourceFile="VbScriptKit.vbs"/>
<CustomAction Id="CreateUserGuid" Return="check" BinaryKey="VbScriptKit"
VBScriptCall="CreateUserGuid"/>
<InstallExecuteSequence>
<Custom Action="CreateUserGuid" After="CostFinalize"/>
</InstallExecuteSequence>
...
</Product>
---
VbScriptKit.vbs (make sure this is ASCII)
Option Explicit
Function CreateUserGuid()
Session.Property("USERGUID") = Mid(CreateObject("Scriptlet.TypeLib").GUID,
2,36)
CreateUserGuid = 1
End Function
---
you should make the function more robust but it's just an example.
Here's the relevant snippet of the install log:
Action ended 21:49:36: CostFinalize. Return value 1.
MSI (s) (74:20) [21:49:36:716]: Doing action: CreateUserGuid
MSI (s) (74:20) [21:49:36:716]: Note: 1: 2205 2: 3: ActionText
Action start 21:49:36: CreateUserGuid.
MSI (s) (74:20) [21:49:36:777]: Creating MSIHANDLE (29) of type 790542 for
thread 4128
MSI (s) (74:B4) [21:49:36:778]: Creating MSIHANDLE (30) of type 0 for thread
7604
MSI (s) (74:AC) [21:49:36:779]: Generating random cookie.
MSI (s) (74:AC) [21:49:36:809]: Created Custom Action Server with PID 2904
(0xB58).
MSI (s) (74:D4) [21:49:36:969]: Running as a service.
MSI (s) (74:D4) [21:49:36:973]: Hello, I'm your 32bit Impersonated custom
action server.
MSI (s) (74!20) [21:49:36:987]: PROPERTY CHANGE: Adding USERGUID property.
Its value is
'06520F92-D326-41FE-AAE9-0AC064D745CC'.
MSI (s) (74:B4) [21:49:36:988]: Closing MSIHANDLE (30) of type 0 for thread
7604
MSI (s) (74:B4) [21:49:36:988]: Closing MSIHANDLE (29) of type 790542 for
thread 4128
Action ended 21:49:36: CreateUserGuid. Return value 1.
Obviously you can do what you want with the USERGUID property, hope that
helps.
Post by Steve BushDoes anyone know of an easy way in WIX to automatically create a GUID on
install? I want to create a GUID that represents the user and place it in
<RegistryValue Root="HKCU"
Key="Software\<omitted>" Name="UserId" Value="<newGuid>" Type="string"
Action="write" />
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
https://lists.sourceforge.net/lists/listinfo/wix-users
--
View this message in context: http://www.nabble.com/Create-New-Guid-in-Installer-tp15548559p15560554.html
Sent from the wix-users mailing list archive at Nabble.com.