Ich versuche, zwei Standorte unterschiedliche installieren Tasten Radio einstellen (Single-User installiert zu AppData und allusers installiert zu Programfiles)wix gesetzt Standort variabel von Radio-Button installieren
Mein Eigentum ist wie folgt definiert:
<Property Id="INSTALLSCOPE" Secure="yes" />
Meine Auswahl Definitionen installieren sind wie folgt:
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id= 'INSTALLSCOPE' Name='AppData'>
<Directory Id='MYAPP' Name='COMPANY'>
<Directory Id='INSTALLDIR' Name='MyApp'>
Mein Radio-Buttons sind wie folgt:
<Dialog Id="CustomInstallScopeDlg" Width="370" Height="270" Title="[ProductName] Install Scope"
NoMinimize="yes">
<Control Id="RadioButtonGroupID" Type="RadioButtonGroup" X="30" Y="94" Width="305" Height="100" Property="INSTALLSCOPE">
<RadioButtonGroup Property="INSTALLSCOPE">
<RadioButton Value="LocalAppDataFolder" X="0" Y="0" Width="300" Height="10" Text="SingleUser"/>
<RadioButton Value="ProgramFilesFolder" X="0" Y="20" Width="300" Height="10" Text="AllUser"/>
</RadioButtonGroup>
</Control>
...
Nachdem die Radio-Buttons und NEXT-Taste geklickt wird geändert werden, geschieht Folgendes:
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes"
Text="[ButtonText_Next]">
<Publish Property="INSTALLSCOPE" Value="LocalAppDataFolder">INSTALLSCOPE = "LocalAppDataFolder"</Publish>
<Publish Property="INSTALLSCOPE" Value="ProgramFilesFolder">INSTALLSCOPE = "ProgramFilesFolder"</Publish>
</Control>
Zeit, was geschieht, wenn ich laufe es ist es versucht, in E zu installieren: AppData, anstelle des korrekten AppData-Ordner. Auch das Installationsprogramm ist fehlerhaft und die Benutzeroberfläche wird nicht angezeigt. Dies passiert nicht, wenn ich den Wert LocalAppDataFolder
fest codiere, anstatt ihn durch eine Variable zu übergeben. Ich habe den Installationsprozess protokolliert und kann den Wert von INSTALLSCOPE ändern, während ich das Installationsprogramm durchführe, aber die Benutzeroberfläche wird nie aktualisiert, um diese Änderung widerzuspiegeln, und auch der tatsächliche Installationspfad ändert sich nie. Jede Hilfe wäre großartig.
Versuchen in Datei WixUI_Advanced.wxs zu suchen (wenn Sie noch nicht getan haben), wo UI-Vorlage mit Funktion implementiert ist, dass Sie implementieren möchten. Es kann dir helfen. Ich denke, dass der einfachste Weg ist, InstallScopeDlg-Objekte einfach von der UI-Vorlage zu kopieren und einen eigenen Klon von InstallScopeDlg.wxs zu erstellen und ihn nach Ihren Bedürfnissen zu bearbeiten oder Funktionen von dort zu kopieren. – Mischo5500
Danke. Ich werde das untersuchen. Diese Vorlagen sind [hier] (https://github.com/AnalogJ/Wix3.6Toolset) gefunden und scheinen nicht mit neueren Versionen von Wix kompatibel zu sein. – user5521
Es ist kein offizielles WiX-Repository, es befindet sich hier [link] (https://github.com/wixtoolset/). Letzte Woche habe ich Vorlagen von WiX4-Zweig zu WiX3.10-Toolset verwendet und es funktioniert ordnungsgemäß. – Mischo5500