2010-02-11 7 views
5

Tengo una propiedad en un archivo Wix que está expuesta para su edición en un cuadro de diálogo. En el ejemplo a continuación, es "MyProperty". Esta propiedad se usa para crear una clave de registro. Sin embargo, si la propiedad se cambia en el cuadro de diálogo, no se utiliza el valor modificado, pero el valor predeterminado es: "SomeProperty". Sin embargo, si visualizo la propiedad en otro diálogo, el valor se muestra como el valor ingresado por el usuario.Wix: el cambio de propiedad en el cuadro de diálogo se ignora durante la instalación

¿Qué estoy haciendo mal?

<?xml version="1.0" encoding="utf-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="221ca977-6b1b-4737-a06a-14122f707173" Name="Name" Language="1033" Version="1.0.0.0" Manufacturer="Manu" UpgradeCode="29ad8ab9-e354-46fa-bafa-85cbea5ae526"> 
    <Package InstallerVersion="200" Compressed="yes" /> 
    <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> 
    <Property Id="MyProperty" Value="SomeProperty" /> 
    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Component Id="RegistryEntries" Guid="8713D23C-1887-45C1-A90B-C8D0AAFFDA3D"> 
     <!-- This registry key is always "Software\SomeProperty" --> 
      <RegistryKey Id="Test" Root="HKLM" Key="Software\[MyProperty]" Action="createAndRemoveOnUninstall"/> 
     </Component> 
    </Directory> 
    <Feature Id="Feature1" Level="1" Title="Feature"> 
     <ComponentRef Id="RegistryEntries" /> 
    </Feature> 
    <UI> 
     <UIRef Id="WixUI_Common" /> 

     <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> 
     <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" /> 
     <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" /> 
     <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> 

     <DialogRef Id="DiskCostDlg" /> 
     <DialogRef Id="ErrorDlg" /> 
     <DialogRef Id="FatalError" /> 
     <DialogRef Id="FilesInUse" /> 
     <DialogRef Id="MsiRMFilesInUse" /> 
     <DialogRef Id="PrepareDlg" /> 
     <DialogRef Id="ProgressDlg" /> 
     <DialogRef Id="ResumeDlg" /> 
     <DialogRef Id="UserExit" /> 

     <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> 
     <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="PropertySettingDlg">1</Publish> 

     <Publish Dialog="PropertySettingDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish> 
     <Publish Dialog="PropertySettingDlg" Control="Next" Event="EndDialog" Value="Return">1</Publish> 

     <Dialog Id="PropertySettingDlg" Width="370" Height="270" Title="PropertySettingDlg" TrackDiskSpace="yes"> 
     <Control Id="PropertyLabel" Type="Text" X="22" Y="52" Width="290" Height="13" Text="My Property" /> 
     <Control Id="Property" Type="Edit" X="22" Y="64" Width="150" Height="15" Property="MyProperty" /> 
     <Control Id="Back" Type="PushButton" X="192" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" /> 
     <Control Id="Next" Type="PushButton" X="248" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" /> 
     </Dialog> 
    </UI> 
    </Product> 
</Wix> 

Respuesta

8

Su propiedad tiene que ser a la vez Public y secure

<Property Id="MYPROPERTY" Value="SomeProperty" Secure="yes" /> 
+0

¿Quieres intentar responder a otra pregunta de Wix? http://stackoverflow.com/questions/19355537/wix-setting-install-folder-correctly/ –

+0

Aún no funcionó para mí, @OP lo arregló por ti? – Bishoy

2

Creo que necesita utilizar un public windows installer property. Las propiedades públicas son todas mayúsculas, p. [MYPROPERTY].

+0

¿Quieres tratar de responder a otra pregunta Wix? http://stackoverflow.com/questions/19355537/wix-setting-install-folder-correctly/ –

Cuestiones relacionadas