xml - Kan ikke tilføje Secure InstallDir i Wix 1.10

Indlæg af Hanne Mølgaard Plasc

Problem



Miljø: Windows 7 x86 SP1, Wix Toolset 3.10


Nedenfor er installationsprogrammet wx'er ignoreret INSTALLDIR.


Installer wxs ignorerer INSTALLDIR [6]


Her er WiX XML:


<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="*" Name="HelloWix Sample 1.0" Language="1041" Version="1.0.0" 
           Manufacturer="CM" UpgradeCode="PUT-GUID-HERE" Codepage="932">
    <Package Description="Simple Message to standard output" 
             Comments="This installer database contains the logic and data required
     to install HelloWix Sample." InstallerVersion="200" Compressed="yes"
     SummaryCodepage="932" />
    <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder" Name="PFiles">
        <Directory Id="hellowix" Name="hellowix">
          <Component Id="HelloWix.cmd" Guid="*">
            <File Id="HELLOWIX.CMD" Name="HelloWix.cmd" Source="HelloWix.cmd" />
          </Component>
        </Directory>
      </Directory>
    </Directory>
    <Feature Id="DefaultFeature" Title="Main Feature" Level="1">
      <ComponentRef Id="HelloWix.cmd" />
    </Feature>
    <UI />
    <UIRef Id="WixUI\_InstallDir" />
    <Property Id="WIXUI\_INSTALLDIR" Value="hellowix" />

    <!--Added the following line:-->
    <Property Id="INSTALLFOLDER" Secure="yes" />

  </Product>
</Wix>


Jeg synes, det er et beslægtet emne http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Installer-ignores-InstallDir-directory-change-td6677782.html.
Så jeg tilføjede kun en linje; til den næste linje af Ejendom Id='WIXUI\_INSTALLDIR' som vist ovenfor: [7]


    <!--Added the following line:-->
    <Property Id="INSTALLFOLDER" Secure="yes" />


Tilføjelse af ejendom [8]


Derefter fik min installatør Fejlkode 2343 ... Hvad er der galt?

Bedste reference


Du kan slå op Windows Installer-fejlmeddelelser på MSDN. [9]


Fejl 2343 betyder ' Angivet sti er tom '. Se link ovenfor, eller tag fat i
msi.chm fra din Windows SDK-installation (søgning under Programfiler). Det er meget praktisk at have den hjælpefil til rådighed for hurtig hentning af anden information og MSI SDK information. Jeg tror, ​​at der også er en kopi af den med WiX i installationsmappen.





Som skrevet i kommentarfeltet, prøv at indstille dialogsætet til at bruge <UIRef Id="WixUI\_Mondo" /> i stedet for din aktuelle indstilling af <UIRef Id="WixUI\_InstallDir" />. Jeg tror, ​​at der kan være nogle fejl i nogle af disse dialogsæt. Jeg fik at vide at bruge Mondo tilbage på dagen, og jeg husker det problem, jeg oplevede, forsvandt. Jeg kan ikke huske, hvad problemet var.


Venligst giv det en tur først, og jeg vil 'udvikle' dette svar, hvis du tilføjer nye oplysninger til dit spørgsmål med testresultaterne.


Måske også se dette svar skrev jeg for et andet spørgsmål. Det er meget ens, fordi det er en minimal WiX-fil, der bruges til at kompilere en test MSI, og den bruger Mondo GUI: WiX-installationsprogrammet msi, der ikke installerer Winform-appen, der er oprettet med Visual Studio 2017.





Det er muligt, at dit problem er relateret til japansk system du er på . Hvis det er tilfældet, er det afgørende, at du hjælper WiX-skaberne med at løse problemerne pålideligt for alle brugere.

Andre referencer 1


Hvis du har et andet system (eller en virtuel maskine), som du kan teste dette på, så gør du det. Ved hjælp af WiX-kilden kan dette problem ikke reproduceres på mit Windows 10 x64 engelske system. Også ICE-validering rapporterer ingen fejl.


Hvis det virker på et andet system, er dit testsystem sandsynligvis beskadiget på en eller anden måde, og den mest sandsynlige årsag er, at Shell Folders-indtastningerne er forkerte eller beskadige et eller andet sted. Den eneste mappe, som dette virkelig bruges til, er 32-bit ProgramFilesFolder, så det er måske brudt et sted. Jeg har set dette problem før, hvor værdierne i standardmappens placeringer er brudt på en eller anden måde, og når Windows Installer evaluerer dem, bliver tom, dermed 2343 fejlen.