Wie füge ich Satellite Assemblies (Lokalisierte Ressourcen) in einem MSI mit WiX gebaut?

StackOverflow https://stackoverflow.com/questions/2162320

  •  23-09-2019
  •  | 
  •  

Frage

Das Projekt arbeite ich an wechselt von der Nutzung des VS2008 deployment / installer WiX, die ich gerade bin sehr neu. Ich habe den Code hinzugefügt in der Ausgabe des Ressourcen Projekt in die Resources.dll, aber in der alten VS2008 Installer-Dateisystem gibt es auch die lokalisierten Ressourcen ausgegeben, die derzeit produziert zwei Foldes (en und es) mit einem anderen DLL zu kopieren ( Resources.resources.dll) für jede Sprache. Ich habe ein bisschen von der Suche habe, aber kann nicht scheinen, um die Methode des Erhaltens diese Ordner in die msi kurz wirklich zu wissen, zu finden, dass diese Ordner vorhanden ist und sie gerade bei der Umsetzung. Was ist der beste Weg, dies zu tun?

War es hilfreich?

Lösung

definiert <Directory> Elemente in Ihrer Wix Quelle für jede der Lokalisierungs Ordner (en und es), dann <Component> Elemente in sie für Ihre Satelliten-Baugruppen definieren.

Kurz gesagt, legte sie gerade in!

Andere Tipps

Hier ist, was für mich gearbeitet, für 2 Sprachen.

Ich habe localeDirectoryFR und localeDirectoryJA wie unten zu sehen, für Französisch und Japanisch:

<Directory Id='TARGETDIR' Name='SourceDir'>
  <Directory Id='ProgramFilesFolder' Name='PFiles'>
      <Directory Id='INSTALLDIR' Name='CmisSync'>
        <Component Id='CmisSync.exe' Guid='bab5a922-b5c4-4958-ab79-5e303b767a61'>
          <File Id='CmisSync.exe' Name='CmisSync.exe' Source='!(wix.root)\bin\CmisSync.exe' KeyPath='yes' DiskId='1' />
        </Component>
        [... other components ...]
        <Directory Id='localeDirectoryFR' Name='fr'>
          <Component Id='localeComponentFR' Guid='01612d5d-6c9d-46e9-96c5-7105bbbea7db'>
            <CreateFolder />
            <File Id='localeFileFR' Name='CmisSync.resources.dll' Source='!(wix.root)\bin\fr\CmisSync.resources.dll' DiskId='1' />
          </Component>
        </Directory>
        <Directory Id='localeDirectoryJA' Name='ja'>
          <Component Id='localeComponentJA' Guid='8d77c457-54b0-41d6-9f1c-c91338b25505'>
            <CreateFolder />
            <File Id='localeFileJA' Name='CmisSync.resources.dll' Source='!(wix.root)\bin\ja\CmisSync.resources.dll' DiskId='1' />
          </Component>
        </Directory>

Dann referenziert ich sie in der Funktion:

<Feature Id='CmisSyncFeature' Title='CmisSync' Description='CmisSync' Level='1' AllowAdvertise='no'>
  <ComponentRef Id="CmisSync.exe" />
  [... other componentrefs ...]
  <ComponentRef Id="localeComponentFR" />
  <ComponentRef Id="localeComponentJA" />
</Feature>

Dank Paul Lalonde für die Spitze.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top