Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Тест-форум (http://forum.oszone.net/forumdisplay.php?f=26)
-   -   msiexec и кириллица в пути (http://forum.oszone.net/showthread.php?t=244232)

бУРов 09-10-2012 11:08 2001946

msiexec и кириллица в пути
 
Делаю MSI. Использую свойство [SourceDir] для получения доступа к папке, из которой пускается сам MSI.
Если в настраиваемом действии вызываю просто 7z.exe и в ком. строке использую [SourceDir], всё работает.
Если делаю там же через cmd.exe /c "7z...", то установка не проходит.
В пути [SourceDir] есть кирилица.
Вызов через cmd.exe мне нужен, чтобы минимизировать открытие консольных окон.

Что-то можно сделать?

Вот такой путь если это свойство через echo пишу в файл:

Код:

D:\䫬π¼Ñ¡Γδ\Åα«Ñ¬Γδ\Visual Studio 2008\MyMSI\

yurfed 09-10-2012 11:23 2001953

бУРов, возможно прописать в начале
Код:

chcp 866
или
Код:

chcp 1251
в зависимости от кодировки.

бУРов 09-10-2012 12:53 2001996

cmd.exe /c "chcp 1251/866/65001&7z..." не помогает.
Проблемы даже если и пробелы имеются.
Может как-то хитро кавычки поставить? ((

Пока приму как данность и буду примечание делать, чтобы путь был без кирилицы и без пробелов.

yurfed 09-10-2012 13:58 2002022

Цитата:

Цитата бУРов
cmd.exe /c "chcp 1251/866/65001&7z..." не помогает. »

Объясните конкретно - что вы делаете. У вас обычный bat или cmd? Пропишите chcp 866 или chcp 1251 первой строкой текста
Цитата:

Цитата бУРов
Проблемы даже если и пробелы имеются. »

Ничего не понял что вы хотели сказать. Удивительный оборот речи :)

бУРов 09-10-2012 14:15 2002032

В Visual Studio 2008 варю MSI-проект. Для выполнения некоторых действий после установки приложения мне нужно запускать архиватор 7z, чтобы дописать файлы в папку установки ([TARGETDIR]). Архиватор я вызываю не через bat-файл, а использую натраиваемое действие (custom Action).
Можно вызывать просто 7z.exe и передавать ему параметры через свойство Arguments:

e "[SourceDir]"dBase.zip -y -o"[TARGETDIR]"dBase

Тут установка выполняется без ошибок. Но открываются консольные окна. Я захотел их минимизировать. Для этого решил использовать настраиваемое действие с вызовом cmd.exe как-то вот так (опять же свойство Arguments):

/c "start /MIN [TARGETDIR]tools\7z.exe e [SourceDir]dBase.zip -y -o[TARGETDIR]dBase"

Если в пути (проверил только [SourceDir]) есть пробелы, установка заканчивается с ошибкой.

В общем-то проблема пока не актуальна (но имеется). При втором варианте консольные окна все равно вылетают (cmd.exe сам). Сейчас пробую хотя бы вывод в консольное окно подавить.

yurfed 09-10-2012 14:38 2002045

Цитата:

Цитата бУРов
Архиватор я вызываю не через bat-файл »

Код:

start /min x:\xxxxxxxxx.xxx
это окно в свёрнутом виде.

бУРов 09-10-2012 14:52 2002054

Консоль все-равно мелькает. Т.е. сначала вызывается cmd.exe (и он-то и мелькает), а из cmd.exe вызыввается 7z с ключем "/min" (я так пониаю всю последовательность). И уже сам 7z может быть и свернут.

yurfed 09-10-2012 15:30 2002080

бУРов, http://forum.oszone.net/thread-236476-2.html
Или просто, создать ярлычок и в его свойствах прописать "Окно-свёрнутое в значок" Вообще ничего мелькать не будет.

бУРов 09-10-2012 15:45 2002090

С ярлычком надо попробовать.

бУРов 09-10-2012 21:20 2002312

Студия разрешает использовать как настраиваемое действие только исполняемые файлы и сценарии. Ни bat, ни lnk. Наверное надо VBS осваивать.


Время: 08:24.

Время: 08:24.
© OSzone.net 2001-