In meinem WiX Installer habe ich eine Eigenschaft für ein UserID bekam, die auf einen Registrierungsschlüssel geschrieben wird:WiX: Wie kann ich eine Eigenschaft extern festlegen?
<Property Id='UserID' Value='123' />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Component Id='UserIDComponent' Guid='C7A5A70E-261C-11DF-9FB7-49AC56D89593'>
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='integer' Value='[UserID]' Name='UserID' />
</Component>
Ich möchte den Wert dieser Eigenschaft auf die Benutzer-ID der Person, das Herunterladen setzen mein Installateur im laufenden Betrieb. Wenn sie also zum Download gehen, erstelle ich einfach eine Kopie der Basis-MSI, die jeder bekommt, und setze den Wert von UserID auf den der Person, die die Datei herunterlädt, und das ist, was sie herunterladen. Es wird das gleiche Installationspaket sein, das jeder erhält, aber mit der Eigenschaft, die für sie festgelegt ist.
Ich kann anscheinend keine Ressourcen finden, wie man eine WiX MSI-Eigenschaft von einer externen Quelle aus setzt. Wie kann ich das machen?
Ich wollte keinen Bootstrap zu schaffen habe, so Am Ende habe ich das Windows SDK installiert und einen Befehl wie hier http://bit.ly/ctGHth ausgeführt, um den Wert in meinem MSI zu ändern. Dies ermöglicht es mir, dem Benutzer eine MSI zu geben, die sie einfach doppelklicken können, ohne sich um die Parameter zu kümmern, der Parameter wird durch den Befehl, den ich geschrieben habe, aktualisiert. Denken Sie daran, dass Sie den richtigen Typ von Hochkommata angeben müssen, den über der Tilde für MSI-Schlüsselwörter und den Apostroph für Literale (wie UserID und '123'). –