Jestem na Wix 3.7. Mam MSI, dla którego chciałbym ustawić klucz rejestru (być może poprzez działanie niestandardowe, ponieważ będzie musiał sprawdzić, czy klucz już istnieje).Przekazywanie argumentów wiersza poleceń do MSI z pakietu WiX
Rozumiem, że pakiet w projekcie bootstrapper nie może zmienić stanu komputera (na przykład ustawienia rejestru). Dlatego próbuję przekazać argument wiersza poleceń przez <MsiProperty>
, ale nie pojawia się jako argument linii poleceń w moim pliku dziennika dla bootstrapper.
- Czy można ustawić klucz rejestru w pakiecie?
- Jeśli nie, w jaki sposób można dodać argument wiersza polecenia (lub inny niestandardowy element danych) do przesłania do MSI.
- W jaki sposób MSI może odczytać to, co do niego przekazuję (niezależnie od tego, czy kończy się to na argumencie wiersza poleceń, czy na czymś innym).
Bundle:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle
Name="MyInstallerBootstrapperLocalDb"
Version="1.0.0.0"
Manufacturer="some company"
UpgradeCode="PUT-GUID-HERE">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage Id="MyInstallerInstaller"
SourceFile="$(var.MyInstallerInstaller.TargetPath)"
Compressed="no">
<!-- TODO - if this is being set correctly, the MSI needs to
interpret it and set up the key-->
<MsiProperty Name="SetLocalDb" Value="yes"/>
</MsiPackage>
</Chain>
</Bundle>
</Wix>
Właściwość w wierszu komend MSI musi być własnością PUBLICZNA. A własność publiczna to taka, która w stolicach. Musi to być SETLOCALDB, a nie SetLocalDb. I musi być zadeklarowane w MSI, jak również wszystkie kapitele. – RobG