Ich bin mir dessen bewusst ähnliche Fragen innerhalb Stackoverflow:Wix Toolset: Verzeichnis erstellen in Rootdisk (Systemplatte oder c: ) und Kopieren von Dateien innerhalb
WIX:default directory in WixUI_InstallDir,
WIX installer root directory and versioning,
Is it possible to have two root directories in WIX ,
copy file to custom dir in another partition,
How to create a directory in wix?
aber keine von ihnen zeigt einen einfachen und sofortigen Code zum Erstellen eines Ordners im Ordner C: \ (nicht fest codiert, sollte aber die Root-Festplatte oder Systemdiskette oder was auch immer Sie die Festplatte nennen, die den Windows-Ordner enthält) und um Dateien darin zu kopieren.
Mit anderen Worten, wie kann Wix einen Ordner C: \ MynewDir \ example.jar erstellen?
Hier ist, was ich versucht:
<?xml version="1.0" encoding="UTF-8"?>
<!-- WiX installer MyProgram by Mark Seuffert -->
<?define ProductVersion = "13.1.2.3"?>
<?define ProductUpgradeCode = "12345678-1234-1234-1234-111111111112"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" UpgradeCode="$(var.ProductUpgradeCode)" Name="MyProgram" Version="$(var.ProductVersion)" Manufacturer="COMPANY" Language="1033">
<Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package" />
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="MyProgram">
<Component Id="ApplicationFiles" Guid="12345678-1234-1234-1234-222222222222">
<File Id="ApplicationFile1" Source="C:\Users\user\Desktop\myprogram.exe" />
</Component>
</Directory>
</Directory>
<Directory Id="ANOTHERLOCATION" FileSource="C:\MynewDir">
</Directory>
</Directory>
<DirectoryRef Id="ANOTHERLOCATION" FileSource="C:\MynewDir">
<Component Id="ApplicationFiles2" Guid="12345678-1234-1234-1235-111111111111">
<File Id="ApplicationFile2" Source="C:\Users\user\Desktop\InstallerFiles_13_4_9_3\myprogramLauncher.jar" />
<CreateFolder />
</Component>
</DirectoryRef>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate" />
</InstallExecuteSequence>
<Feature Id="DefaultFeature" Level="1">
<ComponentRef Id="ApplicationFiles2" />
<ComponentRef Id="ApplicationFiles" />
</Feature>
</Product>
</Wix>
EDIT 1: Yan Sklyarenko gefunden, was ich suchte, das ist die WindowsVolume (ich weiß nicht, wie ich es in http://msdn.microsoft.com/en-us/library/windows/desktop/aa370905%28v=vs.85%29.aspx#system_folder_properties Microsoft Dokument verpasst) .
Wie aber ersetze ich FileSource = "C: \ MynewDir" mit FileSource = "[WindowsVolume] MynewDir" ??? weil offenbar auch bei WINDOWSVOLUME gewählt die resultierende Lautstärke ist immer D: \ in meinem Computer, der hat mehr verfügbaren Raum :(
EDIT 2 ich meinen Code aktualisiert mit Yan Sklyarenko zweite Probe (@@@@ NEWPART @@@ @ identifiziert Teile, in denen Code unterscheidet), aber das Verhalten immer noch das gleiche ist, wählt das Installationsprogramm die Festplatte mit mehr freien Speicherplatz (D: \ in meinem Fall) und nicht C: \ wo Fenster sind ..
<?xml version="1.0" encoding="UTF-8"?>
<!-- WiX installer MyProgram by Mark Seuffert -->
<?define ProductVersion = "13.1.2.3"?>
<?define ProductUpgradeCode = "12345678-1234-1234-1234-111111111112"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" UpgradeCode="$(var.ProductUpgradeCode)" Name="MyProgram" Version="$(var.ProductVersion)" Manufacturer="COMPANY" Language="1033">
<Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package" />
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="MyProgram">
<Component Id="ApplicationFiles" Guid="12345678-1234-1234-1234-222222222222">
<File Id="ApplicationFile1" Source="C:\Users\user\Desktop\myprogram.exe" />
</Component>
</Directory>
</Directory>
<Directory Id="ANOTHERLOCATION" FileSource="C:\MynewDir">
@@@@[email protected]@@@<Component Id="ApplicationFiles2" Guid="12345678-1234-1234-1235-111111111111">
<File Id="ApplicationFile2" Source="C:\Users\user\Desktop\InstallerFiles_13_4_9_3\myprogramLauncher.jar" />
<CreateFolder />
</Component>
</Directory>
</Directory>
@@@@[email protected]@@@<SetDirectory Id="ANOTHERLOCATION" Value="[WINDOWSVOLUME]" />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate" />
</InstallExecuteSequence>
<Feature Id="DefaultFeature" Level="1">
<ComponentRef Id="ApplicationFiles2" />
<ComponentRef Id="ApplicationFiles" />
</Feature>
</Product>
</Wix>
EDIT 3 Das letzte obige Code-Snippet sollte funktionieren, ändern Sie jedoch das Gehäuse von WINDOWSVOLUME zu WindowsVolume, wie vorgeschlagen
Ich habe nicht versucht, den ganzen Code aber Das Gehäuse von 'WindowsVolume' war das Problem, wie Sie richtig angedeutet .. Jetzt funktioniert mein Code-Snippet! Vielen Dank – dendini