Цитата Marsianin:
Q: При попытке установить программу появляется окно со следующим содержимым:
Код:
Установщик Windows®. Версия 4.5.6001.22159
msiexec /Option <обязательный параметр> [необязательный параметр]
...
A: Решение »
|
Устанавливал ПО для принтера/сканера (мфу) HP на WinXP SP3 ("сборка"), вылетело с этим самым окном. В логах нашёл строку :
msiexec.exe -i "C:\Program Files\HP\Digital Imaging\{E5A8DDAB-AE80-48C6-A75B-D0FAB83B299D}\productcontextnpi.msi" -qn -l*v C:\DOCUME~1\USER\
Local Settings\Temp\ProductContextF300.log ADDLOCAL="djf300" BRAND="Deskjet" SERIES="F300" PRODUCTURL="hpdeskjetf1129388"
таже строка с другого компа, где всё гуд :
msiexec.exe -i "C:\Program Files\HP\Digital Imaging\{E5A8DDAB-AE80-48C6-A75B-D0FAB83B299D}\productcontextnpi.msi" -qn -l*v C:\DOCUME~1\USER\
LOCALS~1\Temp\ProductContextF300.log ADDLOCAL="djf300" BRAND="Deskjet" SERIES="F300" PRODUCTURL="hpdeskjetf1129388"
Т.е. msiexec.exe не может обработать путь с пробелами к лог-файлу. А причина этого кроется в отсутствии короткого имени для папки "Local Settings" в учётке пользователя [короткие имена можно посмотреть командой DIR /x (не забываем снять атрибут "скрытый")]. Для увеличения скорости работы файловой системы, ещё до создания учётных записей пользователей, было отключено автоматическое создание коротких имён :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
"NtfsDisable8dot3NameCreation"=dword:00000001
Решение для свежеустановленной системы
до создания учёток пользователей :
либо в реестре заменить 1 на 0 и снизить скорость файловой системы, но избавится от проблем с короткими именами (хз, где ещё вылезут боком ДОС'овские имена)[создаются только для новых файлов и папок];
либо, что лучше в нашем случае, сразу после создания учётки изменить переменные среды TEMP и TMP на "читаемый" путь, например c:\TEMP
Решение для давно работающей системы с кучей установленных пакетов (во избежание новых бед) :
заходим с другой учётки с правами админа, в командной строке набираем fsutil file setshortname <папка> <короткое_имя> (пример: fsutil file setshortname "c:\Documents and Settings\USER\Local Settings" LOCALS~1 , кавычки обязательны)