J'ai créé un fichier géré CustomAction
pour copier 2 fichiers non inclus dans le fichier * .MSI du répertoire d'installation.Wix: Copie de fichiers dans une action personnalisée dans le répertoire des programmes (Windows 7)
Bien que cela fonctionne dans Windows XP, il échoue dans Windows 7. Bien que le journal indique que les fichiers sont copiés à l'emplacement souhaité, , ils sont en fait copiés à C:\Users\MyUser\AppData\Local\VirtualStore\Program Files (x86)\MyApp\
. Ma conjecture est que cela a à voir avec les droits d'accès pour modifier le dossier du programme.
Voilà comment j'appelle l'action personnalisée dans WiX:
<CustomAction
Id='InstallSource'
BinaryKey='SrcInstActionDll'
DllEntry='InstallSourceFiles'
Execute='deferred'
Impersonate='no'/>
<CustomAction
Id="InstallSource.SetProperty"
Return="check"
Property="InstallSource"
Value='Files=[SourceDir]$(var.SourceZipName),[SourceDir]$(var.SymbolsZipName);TargetDir=[ParentFolder]'
Execute='immediate'/>
Le CustomAction
s'invoque simplement File.Copy()
. Les autres fichiers copiés par le programme d'installation fonctionnent parfaitement dans Windows 7. Seuls les fichiers copiés à l'aide du CustomAction
présentent le problème décrit.
Lien est maintenant mort FYI – techvice