2017-06-19 2 views
0

Je définissais une valeur de propriété dans une boîte de dialogue à l'aide du contrôle d'édition. Mais quand j'ai utilisé la même propriété pour écrire à l'intérieur d'une valeur ini, elle n'écrit pas la valeur mise à jour et n'écrit que l'ancienne valeur. Mon code source Wix est donnée ci-dessous (écrire des codes seulement importants que mon code Wix est trop grand)Définition de la valeur de la propriété dans un fichier ini WIX

<Property Id="testNumber" Value="1122" /> 
<CustomAction Id="SettestNumber" Property="ModifiedtestNumber" Value="[testNumber]" /> 

<ComponentGroup Id="INIFileGroup"> 
    <Component Id="IniFile" Guid="{0ded271b-9268-49e7-8c13-60c7538acc25}" KeyPath="yes" Directory="DirCfg" > 
    <IniFile Id="IniPath" Action="addLine" Directory="Dirtest" Key="testkey" Name="test.ini" Section="test" Value="[ModifiedtestNumber]" /> 
    </Component> 
</ComponentGroup> 

<InstallUISequence> 
<Custom Action="SettestNumber" Sequence="1299"/> 
</InstallUISequence> 

      <Dialog Id="testNumberUI" X="50" Y="50" Width="375" Height="270" Title="[ProductName]" CustomPalette="yes"> 
      <Control Type="Edit" Id="test_Number" Width="50" Height="15" X="258" Y="53" Property="testNumber" Text="{50}" TabSkip="yes"/> 
     </Dialog> 

Je donne la valeur 1212 dans la zone d'édition de commande et l'installation mais à l'intérieur du fichier test.ini ce n'est pas obtenir mise à jour et la valeur est 1122. quelqu'un pourrait-il s'il vous plaît fournir un moyen pour moi de mettre à jour le Modifedtestnumber au fichier ini

note: Quand je mets l'action personnalisée dans < InstallExecuteSequence /> la valeur dans le fichier ini était nulle

Répondre

3

Votre propriété doit être publique (toutes majuscules TESTNUMBER) et marqué avec l'attribut sécurisé pour qu'il soit répertorié dans la propriété SecureCustomPublicProperties. Sachez également que les propriétés ne sont pas conservées. Vous devez utiliser quelque chose comme le modèle de propriété de mémorisation WiX pour la valeur à charger à partir du fichier INI lors de transactions ultérieures telles que des réparations et des mises à niveau.

+0

Voici un lien vers le modèle de souvenir de moi mentionné http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern/ –