Нужно выполнить CustomAction во время установки, чтобы получить файл nlbdb.bak из MSI. Как пройти его путь?Получить файл из MSI in wix Custom Action (Before = "InstallFinalize")
<Directory Id="ProgramFilesFolder">
<Directory Id="BACKUP" Name="BACKUP"/>
<Directory/>
<DirectoryRef Id="BACKUP">
<Component Id="VMBackup">
<File Id="Backup" Name="nlbdb.bak" Source="BACKUP\nlbdb.bak" DiskId="1" KeyPath="yes" />
</Component>
</DirectoryRef>
CA
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
string Directory = "";//get file path nlbdb.bak
bool test = File.Exists(Directory);
}
Это не ясно, что вы пытаетесь сделать. Это обновление, и вы пытаетесь скопировать файлы до их замены? Или это в конце вашей установки, и вы хотите скопировать только что установленный файл где-нибудь? Если это так, то ваш CA должен быть отложен, поэтому он запускается после установки файлов. – PhilDW
Я создаю новый установщик. Перед завершением установки (файлы не копируются в выбранную папку) необходимо получить в файле CA nlvdb.bak определенные операции. Итак, вот как получить этот файл? В папке BACKUP еще нет. Он будет показан после успешного завершения CA. –
Проблема в том, что файл, который вы хотите скопировать, находится в CAB внутри файла MSI, с которого Windows будет устанавливать его. Вы можете скопировать его после его установки. – PhilDW