У меня есть исполняемый установщик, который настраивает общий файл конфигурации, который необходимо изменить, прежде чем программное обеспечение заработает.Я пытаюсь упростить процесс установки и хотел бы обернуть исполняемый файл и мой измененный файл конфигурации в один установщик MSI.Мне это удалось, но у меня возникли проблемы с назначением свойства Before = или After = value внутри моего элемента InstallExecuteSequence для CustomAction, запускающего исполняемый установщик.Если я назначу запуск исполняемого установщика слишком рано, он вообще не запускается или демонстрирует странное поведение.И если я назначаю исполняемому установщику слишком поздний запуск в последовательности установки, он перезаписывает мой измененный файл конфигурации общими настройками.Что до или после присвоения свойств позволит исполняемому файлу работать правильно, но не перезаписывать файл, который я перемещаю с элементом CopyFile?
<Property Id="CONFIGFOLDER" Value="C:\acme\config" />
<Feature Id="ConfigurationFile" Title="Configuration File" Level="1">
<ComponentRef Id="CMP_ACME_Config_File" />
</Feature>
<DirectoryRef Id="TARGETDIR">
<Component Id="CMP_ACME_Config_File" Guid="">
<File Id="ACME_Config" Source="MySettings.conf" KeyPath="yes">
<CopyFile Id="Copy_ACME_Config"
DestinationProperty="CONFIGFOLDER"
DestinationName="settings.conf" />
</File>
</Component>
</DirectoryRef>
<Binary
Id="InstallerEXE"
SourceFile="installer.exe" />
<CustomAction
Id="Launch_Installer"
BinaryKey="InstallerEXE"
Impersonate="yes"
Execute="deferred"
ExeCommand=""
Return="check" />
<InstallExecuteSequence>
<Custom Action="Launch_Installer"
Before="InstallFiles">NOT Installed
</Custom>
</InstallExecuteSequence>