Перейти к содержимому

Фотография

Переменные окружения в аргументах пакета MSI


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 sapsan2

sapsan2

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Владимир Иванович Владимиров

Отправлено 28 ноября 2011 - 13:46

Доброго времени суток всем. Для отладки работы инсталлятора необходимо даобавить в бутстраппер логирование процесса установки msi пакета. Для того чтобы логи можно было легко забрать после установки решено было использовать переменные окружения для задания пути для сохранения в аргументах вызова msi пакета.

<Command  
PackageFile="MyApp.msi"  
Arguments=' /qn /lx %TEMP%\MyAppLog.txt'  
... 
>

При инсталляции получаем, путь %TEMP%\MyAppLog.txt не был распарсен и в логе бутсраппера инсталлятора получена следующая строкаЦитата
Installing using command 'C:\Windows\SysWOW64\msiexec.exe' and parameters ' -I "C:\Users\user1\AppData\Local\Temp\VSDB481.tmp\MyA​pp\MyApp.msi" -q /qn /lx %TEMP%\MyAppLog.txt'
Will attempt to elevate process.

Если эту же командную строку вызвать отдельно все сработает. Как заставить MSI класть лог в C:\Users\user1\AppData\Local\Temp\?
  • 0

#2 sawoy

sawoy

    Новый участник

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

Отправлено 29 ноября 2011 - 11:39

Вроде бы можно использовать таким образом: [%TEMP]

судя по http://msdn.microsof...ibrary/Aa368609
  • 0

#3 sapsan2

sapsan2

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Владимир Иванович Владимиров

Отправлено 29 ноября 2011 - 11:50

Ни Arguments=' /qn /lx [%TEMP]\MyAppLog.txt' , ни Arguments=' /qn /lx [%TEMP%]\MyAppLog.txt' не дают нужного результата. Есть топик http://social.msdn.m....c-e949a876b2d1, но их пример такой же нерабочий. Где-то же дожнобыть описано как это сделать, может есть какие-то обходные пути?
  • 0

#4 sawoy

sawoy

    Новый участник

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

Отправлено 29 ноября 2011 - 13:19

Судя по результатам поиска чтение существующей переменной окружения не вызывает проблем.

Предлагаю попробовать все варианты:

Arguments=' /qn /lx %TEMP%\MyAppLog.txt'
Arguments=' /qn /lx "%TEMP%\MyAppLog.txt"'

Arguments=' /qn /lx [%TEMP]\MyAppLog.txt'
Arguments=' /qn /lx [%TEMP%]\MyAppLog.txt'

Arguments=' /qn /lx "[%TEMP]\MyAppLog.txt"'
Arguments=' /qn /lx "[%TEMP%]\MyAppLog.txt"'

Arguments=' /qn /lx [TEMP]\MyAppLog.txt'
Arguments=' /qn /lx "[TEMP]\MyAppLog.txt"'
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных