Проблема извлечения SFX во время установки на основе WiX - PullRequest
1 голос
/ 17 мая 2011

У меня есть следующий код в моем проекте WiX

<CustomAction Id="ExtractHelp" Directory="DocFolder" Execute="commit" Impersonate="no" ExeCommand="[MYAPPINSTALLFOLDER]Doc\help_zip.exe"  />
      <InstallExecuteSequence>
           <Custom Action="ExtractHelp" Before="NativeCompilation">NOT REMOVE</custom>
      </InstallExecuteSequence>

Где help_zip - это SFX-архив 7z, который я создал, чтобы связать наши файлы справки и извлечь их в нашем DocFolder во время установки. Единственная проблема заключается в том, что файлы продолжают извлекаться в C: \ Windows \ SysWow64, а не в папку, указанную DocFolder. Есть идеи?

Кроме того, help_zip.exe находится в DocFolder, поэтому ему даже не нужны аргументы для вывода в каталог, в котором он находится, по крайней мере, насколько я знаю = \

РЕДАКТИРОВАТЬ Я отредактировал код выше, чтобы показать свое решение. Обратите внимание, что NativeCompilation - это еще одно созданное нами действие (не являющееся частью WiX), и NOT REMOVE относится к выполнению действия, когда мы не удаляем его.

1 Ответ

1 голос
/ 18 мая 2011

Попробуйте установить атрибут Directory , чтобы вы могли использовать type 34 custom action (EXE с рабочим каталогом).Таким образом, вы можете определить рабочий каталог архива SFX.

...