Скопируйте файл с помощью Burn

Я использую WiX Burn для создания своего установщика, я связываю один exe и один msi. И exe нужен файл свойств во время установки. Есть ли способ скопировать файл с помощью записи, я пробовал Payload, но она не работает. Могу ли я узнать расположение любой переменной Bundle, в которую копируется мой файл.

Спасибо, Рави С.


person Ravz1234    schedule 29.08.2012    source источник
comment
Чтобы было ясно, исполняемый файл запускается во время установки, и ему нужно знать расположение файла свойств?   -  person BryanJ    schedule 29.08.2012


Ответы (1)


Убедитесь, что вы указываете файл свойств как полезную нагрузку для exe, а не для загрузчика. Например, в вашем бандле ваша цепочка может выглядеть примерно так:

<Chain>
 <MsiPackage SourceFile="MyInstaller.msi" Id="MyInstaller" Cache="yes"/>
 <ExePackage SourceFile="MyExe.exe" Id="MyExe" Cache="yes">
   <Payload SourceFile="OtherFile.properties" Id="Properties"/>
 </ExePackage>
</Chain>

Кроме того, в качестве проверки работоспособности, какую версию WiX вы используете? Если вы используете старую сборку (например, RC0), вы можете попробовать обновить ее до последней еженедельной сборки.

Обновление: в WiX 3.6 вы не можете получить абсолютный путь к файлу полезной нагрузки. Прямо сейчас открыто два запроса на обнаружение ошибок / функций, касающихся проблемы, отложенной до WiX 3.7:

Одним из способов обходного решения было бы использовать прожиг для написания собственного приложения загрузчика, а затем программным образом определить рабочий каталог и установить соответствующие параметры, но для решения этой проблемы потребовалось бы много работы.

person BryanJ    schedule 29.08.2012
comment
Привет, я использую это, так как файл Oracle-install.iss необходим во время установки, я передаю команду. ‹Имя ExePackage = Oracle SourceFile = C: \ tmp-release \ xe-10.2.0.1-nt.exe InstallCommand = / s /f1OracleXE-install.iss InstallCondition = SelectOracle = 1› ‹Идентификатор полезной нагрузки = OracleXE-install.iss SourceFile = C: \ OracleXE-install.iss / ›‹/ExePackage› И я использую RC1. - person Ravz1234; 29.08.2012
comment
И одна проблема заключается в том, что OracleXE-install.iss должен иметь абсолютный путь в InstallCommand. Но Burn вводит временную папку, и как я могу узнать ее путь, поскольку он создает папку с некоторым идентификатором GUID. - person Ravz1234; 29.08.2012
comment
Хм, я не думаю, что вы можете указать абсолютный путь. Смотрите мое обновление. - person BryanJ; 29.08.2012
comment
Спасибо, Брайан, может быть, выйдет в 3.7. - person Ravz1234; 29.08.2012