2

J'ai créé un paquet msi qui compresse certains fichiers xml dans un fichier zip lors de l'installation. J'ai créé un CustomAction pour ce but:Exécution d'un exécutable sur un partage réseau avec CustomAction avec wix?

<CustomAction Id="CompressMy" BinaryKey="zipEXE" ExeCommand="a -tzip &quot;[TEMPLATE_DIR]my.zip&quot; &quot;[TempSourceFolder]data.xml&quot;" Return="check" HideTarget="no" Impersonate="no" Execute="deferred" /> 

L'installation fonctionne très bien, si je tente d'installer sur un disque local, mais récemment, un client voulait installer [TEMPLATE_DIR] à un lecteur réseau sous Windows Vista. Le CustomAction échoue, car l'utilisateur d'installation élevé n'a pas mappé le lecteur réseau, même si l'utilisateur appelant du programme d'installation a mappé le lecteur. Cela arrive aussi, si j'essaye d'installer à un unc-path. J'utilise 7zip pour la compression. Je l'ai ajouté à mon paquet msi.

J'ai essayé de définir Impersonate="yes", mais les installations échouent si mon TEMPLATE_DIR est f.e. le répertoire ProgramData.

Avez-vous une idée de ce que je peux faire? J'ai pensé à vérifier si TEMPLATE_DIR est un chemin réseau, mais je ne savais pas comment je peux vérifier cela. Ou avez-vous d'autres idées comment je peux fournir une installation locale et réseau en utilisant cette action personnalisée.

S'il y a des conseils,

salutations, Martin

Répondre

0

Une façon d'accomplir la tâche consiste à vous utiliser du code natif pour vous une action personnalisée. J'ai eu le même problème et je converti peuvent tous CA en code natif (C++)

Tous les meilleurs

s