Я создал управляемый CustomAction
для копирования 2 файлов, не включенных в * .MSI, в каталог установки.
Хотя это работает в Windows XP, но не работает в Windows 7. Хотя в журнале указано, что файлы копируются в желаемое место C:\Program Files\MyApp\
, на самом деле они копируются в C:\Users\MyUser\AppData\Local\VirtualStore\Program Files (x86)\MyApp\
. Я предполагаю, что это связано с правами доступа на изменение папки программы.
Вот как я называю настраиваемое действие в 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'/>
Сам CustomAction
просто вызывает File.Copy()
. Другие файлы, скопированные установщиком, отлично работают в Windows 7. Только файлы, скопированные с помощью CustomAction
, имеют описанную проблему.