Comment appeler une action personnalisée, une fois les fichiers copiés dans wix
Je veux effectuer une action personnalisée, une fois les fichiers sont à copier dans le dossier de destination.
En action personnalisée-je exécuter copié fichier de script afin de me donner de l'erreur de fichier non trouvé.
<CustomAction Id="RunDBScript"
BinaryKey="CA"
DllEntry="RunDBScript"
Execute=" immediate"
Return="check" />
<Custom Action="RunDBScript" After="InstallFiles">
<![CDATA[NOT Installed]]>
</Custom>
cette action personnalisée donner une erreur de fichier/répertoire introuvable. si cette action de téléphoner avant de la copie de fichier.
alors, comment appeler des actions personnalisées d'après la copie de fichier?
Je ne suis pas à comprendre pourquoi cette action personnalisée appeler avant de InstallFiles même si je suis spécifié Après="InstallFiles".
Faire de votre CA différé:
si j'utilise Exécuter="différé", alors donnez-moi de l'erreur : "Impossible d'accéder à la session détails à partir d'un non-immédiat de l'action personnalisée"
Comment avez-vous résolu votre problème?
Execute="deferred"
si j'utilise Exécuter="différé", alors donnez-moi de l'erreur : "Impossible d'accéder à la session détails à partir d'un non-immédiat de l'action personnalisée"
Comment avez-vous résolu votre problème?
OriginalL'auteur Rikin Patel | 2012-07-05
Vous devez vous connecter pour publier un commentaire.
Déplacer votre action personnalisée après InstallFinalize. C'est le seul endroit dans InstallExecuteSequence où des mesures Immédiates peuvent être exécutées après l'installation des fichiers produit.
Mon expérience est que les fichiers ne sont pas copiés jusqu'à ce que après l'installation de finaliser. J'ai créé une action personnalisée qui vérifie l'existence d'un fichier. La coutume d'action a été établi avec InstallFinalize, mais le fichier n'existe pas.
Il est également possible d'exécuter immédiate de l'action personnalisée dans InstallUISequence après AppSearch
OriginalL'auteur user527987
Lorsque vous utilisez reportés actions personnalisées, vous devez accéder à des valeurs par le biais de session.CustomActionData["propertyname"].
Session dictionnaire des valeurs ne peut être lu que par immédiats des actions personnalisées, où l'exécution du script est en cours d'écriture.
Reportés actions personnalisées sont exécutés au script qui s'exécute en temps, de sorte que les propriétés du projet ne sont plus disponibles.
Pour l'utiliser, vous devez mettre en œuvre une double action personnalisée dans le but de fournir les propriétés souhaitées pour le réel de l'action personnalisée.
Suivre le soufflet exemple:
À cet exemple, vous devez appeler à InstallExecutionSequence l'action personnalisée "_Data" et après appel au réel, de sorte que la première "_Data" va se les propriétés souhaitées. Ensuite, vous pouvez accéder à ces propriétés sur votre code à l'aide de session.CustomActionData[""].
Juste en complément, le soufflet est un exemple de la façon d'appeler les actions personnalisées à InstallExecuteSequence.
OriginalL'auteur Fernando Jaconete