Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: Файлы конфигурации 7z SFX. Помощь и советы :.

Ответить
Настройки темы
.: Файлы конфигурации 7z SFX. Помощь и советы :.

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: jameszero
Дата: 26-11-2019
Описание: зеркала
Эта тема создается специально для вопросов по 7z SFX архивам на базе модифицированных модулей от Oleg_Sch. Перед тем, как задать вопрос, обратите внимание, на перечисленные ниже ссылки.

Домашняя страница модулей: http://7zsfx.info (зеркала в теме по ссылке ниже)
Обсуждение модулей: http://forum.oszone.net/showthread.php?t=51547

В теме предполагается обсуждать вопросы написания файлов конфигурации для 7z SFX архивов, делится своими наработками, нестандартными и оригинальными решениями, расширяющими возможности использования модулей и т.п..

Лучшие варианты файлов конфигурации и оригинальные решения могут быть включены в справку по модифицированным модулям.

Полезные ссылки:
Список переменных, которые могут быть использованы в файле конфигурации модифицированного модуля.

FAQ:
  1. Вопрос: Как можно удалить необходимую папку ДО установки? Насколько я читал RunProgram, ExecuteFile, AutoInstall выполняются после распаковки.
    Ответ: Установка и распаковка это разные этапы работы модуля. До распаковки ни каких действий произвести нельзя, модуль этого не предусматривает. А после распаковки начинается установка и первыми командами установки можно удалить "любую" папку (конечно, если ее вообще можно удалить).
    Если Вы хотите удалить папку в которую нужно произвести установку программы, то распаковывайте SFX во временную папку, затем удаляйте, ту, которую хотите удалить, а затем производите установку/копирование/перемещение из временной папки, туда, куда сочтете нужным. Временная папка автоматически удалится после завершения работы SFX.


  2. Вопрос: Возможно ли 2 варианта распаковки? Например: запаковано 4 файла: 1.txt, 2.txt, 3.txt и 4.txt. В первом случае распакованы будут все файлы, а во-втором только 3.txt и 4.txt. Вариант распаковки выбирает пользователь?
    Ответ: Нет, такое невозможно. Всегда распаковываются все файлы из архива. После распаковки можно скопировать/переместить только нужные файлы в нужное место, или просто удалить ненужные.

Отправлено: 09:16, 21-03-2012

 

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


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Hi, apologize for using English (you can of course answer in Russian! Thanks!)

I'm using the module to generate different .exe archives, but all in the same structure:

MyProgDir (directory)
L-- Run.exe
L-- (other files/folders - about 30 MB of them, in some 280 files)

The name MyProgDir can change in different cases - so it can also be with spaces or with special characters like umlauts (ü). But there's always run.exe inside.

When the SFX is extracted I want the file "run.exe" to be executed. I want to see just run.exe in a window and not any console windows.

At first my configuration file was like this (MyProgDir is replaced by whatever name I need in different cases)
Код: Выделить весь код
;!@Install@!UTF-8!	
RunProgram="\"MyProgDir\\run.exe\""
GUIMode="1"
;!@InstallEnd@!
The problem: run.exe has .dll dependencies that require the current dir to be MyProgDir.

From here, I tried two different things but none of them worked 100%.

1. first way - open cmd.exe and terminate it immediately after starting my app, and setup the current dir to MyProgDir:
Код: Выделить весь код
RunProgram: "\"cmd.exe\" /c start /b /d MyProgDir run.exe"
The problem here was very weird - run.exe complained that some of its dependencies .dll files were missing. To check, I went to the Temp folder during the message box display - and true, the files were not there, as if the extraction (or copying?) was terminated.

If I changed this to cmd.exe /K the files were all there, but I was stuck with the console window.

2. second way - create a .bat file:
run.bat:
Код: Выделить весь код
start /w /d "MyProgDir" run.exe
exit
and in the config:
Код: Выделить весь код
RunProgram="hidcon:\"MyProgDir\\run.bat\""
This works great for running the .exe BUT if MyProgDir has special characters, like if it's called "BüüüFolder" - the start command fails (if I remove the hidcon prefix I see that the ü turned into some mess of characters.

Is there a way to have just one simple RunProgram command to handle this?

Отправлено: 00:00, 01-02-2015 | #281



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


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


Сообщения: 12
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата frankiesimon:
Is there a way to have just one simple RunProgram command to handle this? »
1. Может быть лучше не создавать каталог с "üüü"?
2. В текущем каталоге есть какие-то другие файлы, каталоги?
\..
\MyProgDir\
Если нет, то можно упаковать содержимое MyProgDir\ в корневой каталог
7z.exe a "MyProgDir.7z" -r "MyProgDir\*" -mx5
Далее распаковка в:
InstallPath="%TEMP%\\CustomFolder"
RunProgram="run.exe"
...

Отправлено: 01:29, 01-02-2015 | #282


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


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Уважаемый gora, подскажите пожалуйста если это возможно, можно ли как то дополнить эту команду, то есть суть такая, нужно чтобы команда RunProgram="hidcon:cmd /c Ver | Find \"6.2\" >Nul || 2.ехе" проверяла не только для вин8 (6.2) но и для вин8.1 (6.3) ? просто нужно чтобы на всех виндовс программа ставилась и только на 8-8.1 нет... может можно как то дополнить команду? если прописать так RunProgram="hidcon:cmd /c Ver | Find \"6.\" >Nul || 2.ехе" то на 7ке тоже не будет ставится, а мне нужно чтобы она не ставилась только на 8-8.1

Отправлено: 03:50, 01-02-2015 | #283


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


Сообщения: 12
Благодарности: 1

Профиль | Отправить PM | Цитировать


del

Последний раз редактировалось spectat0r, 01-02-2015 в 07:36.


Отправлено: 06:51, 01-02-2015 | #284


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата frankiesimon:
The problem here was very weird - run.exe complained that some of its dependencies .dll files were missing. To check, I went to the Temp folder during the message box display - and true, the files were not there, as if the extraction (or copying?) was terminated. »
Это может быть проблема с дочерними процессами файла run.exe. То есть, файлы не "не успели" распаковаться, а уже начали удаляться модулем.
Вы не указываете параметр InstallPath и модуль ведет распаковку во временную папку. Затем он запускает run.exe и ждет завершения процесса run.exe, но он (файл run.exe) может породить один или несколько дочерних процессов и при этом закрыть родительский, т.е сам run.exe. Дочерние процессы продолжают свою работу, а модуль получил команду о завершении процесса run.exe и начал все удалять из своей временной папки (такова логика его работы во временной папке). Вот в этот момент Вы и можете получать сообщения об отсутствующих dll.
Здесь можно попробовать использовать префикс waitall, но это не всегда срабатывает.
Можно отказаться от временной папки и указывать конкретный путь распаковки в параметре InstallPath, но тогда после окончания установки убирать "мусор" в виде этой папки придется самостоятельно, а не ждать этого от модуля.
Цитата frankiesimon:
This works great for running the .exe BUT if MyProgDir has special characters, like if it's called "BüüüFolder" - the start command fails (if I remove the hidcon prefix I see that the ü turned into some mess of characters. »
А кодировка файла конфигурации UTF-8 или иная? Она обязательно должна быть UTF-8 при работе с национальными алфавитами.
Цитата frankiesimon:
Код: Выделить весь код
start /w /d "MyProgDir" run.exe
»
Вообще это не правильно, корректнее так:
Код: Выделить весь код
start "" /w /d"%%T\MyProgDir" run.exe
Вначале пустые кавычки для "Заголовка окна", а %%T для указания полного, а не относительного пути.


sas2242, боюсь, что в одну строку все засунуть не получиться, для таких проверок лучше использовать батник.
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:28, 01-02-2015 | #285


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


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Thanks for your messages. After reading your suggestions and going back to my code/setup I realized that I don't really need to place the files in their own subdirectory - and things got a lot easier. Thanks again!

Отправлено: 03:18, 28-02-2015 | #286


Аватара для agrei678

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


Сообщения: 43
Благодарности: 1

Профиль | Отправить PM | Цитировать


подскажите как добавить в файле конфигурации ярлык на рабочий стол!

-------
Грузчик


Отправлено: 20:58, 20-03-2015 | #287


Ветеран


Сообщения: 2196
Благодарности: 727

Профиль | Отправить PM | Цитировать


agrei678, в справке
Цитата:
Shortcut="type,{src_file_path},
{command_line_for_file},
{folder_for_shortcut},{decription},
{shortcut_name},{working_directory},
{icon_file},{icon_index}"

Отправлено: 21:02, 20-03-2015 | #288


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


Сообщения: 49
Благодарности: 1

Профиль | Отправить PM | Цитировать


Доброго время суток.
Подскажите пожалуйста - можно сделать ярлык программы при помощи Shortcut, чтобы запускался от имени администратора.


Последний раз редактировалось 41275jur, 19-05-2015 в 04:50.


Отправлено: 20:39, 18-05-2015 | #289


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


Сообщения: 22
Благодарности: 3

Профиль | Отправить PM | Цитировать


Ребят, подскажите пожалуйста, есть необходимость выполнить такую команду RunProgram="hidcon:Reg Add \"HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"%Name%\" /t REG_SZ /d \"%PathInst%\\%NameEXE%\" /f"
но почему то она не отрабатывает, а если быть точнее, то запись в реестре не появляется, где я чего упустил? Спасибо.

Отправлено: 18:02, 25-06-2015 | #290



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: Файлы конфигурации 7z SFX. Помощь и советы :.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - VMware (все вопросы) 1 bit Программное обеспечение Windows 382 10-10-2019 23:34
WinRAR SFX .:[все вопросы]:. Devil-91 Автоматическая установка приложений 85 28-08-2013 15:37
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. Microsoft Windows 2000/XP 105 30-06-2010 11:58
Все вопросы о Wi-Fi vovikrus Хочу все знать 0 18-04-2010 09:53
Вопросы по теме "Кнопка для работы с 7z SFX архивами в Total Commander." ya158 Автоматическая установка Windows 2000/XP/2003 4 18-11-2009 22:20




 
Переход