Показать полную графическую версию : [ликбез] Помощь начинающим .:[все вопросы]:. часть 1
Помогите. Вопрос может не по теме, но ответа на него нигде не нашел. Как удалить интегрированный в дистрибутив аддон, созданный методом SVCPACK.
Заранее спасибо
Toljann,
Удалить соответствующий файл из папки i386\SVCPACK, а также запись об установке этого файла из i386\SVCPACK.in_
LonerD,
Спасибочки, все получилось
Подскажите, в чём ошибка? Из обычного батника команда copy работает, а в составе SFX 7-Zip не хочет ни в какую. Выскакивает сообщение:
Произошла ошибка при выполнении "copy /y "My Programm 1.txt" + "My Programm 2.txt""
Не удаётся найти указанный файл.
Вот конструкция SFX:
SetEnvironment="Prog1=My Programm 1.txt"
SetEnvironment="Prog2=My Programm 2.txt"
RunProgram="fm3:hidcon:copy /y \"%Prog1%\" + \"%Prog2%\""
Смысл конструкции - дописать текст из файла My Programm 2.txt в конец текста файла My Programm 1.txt.
Nun-Nun
1 Переменные %Prog1% и %Prog2% имеют пробелы и должны быть заключены в кавычки. (Уже поправили, так ошибка то была с кавычками или без них?)
2 Команда copy /y %Prog1% + %Prog2% у Вас какая-то странная, т.к., должен быть указан еще и выходной файл, если это команда слияния файлов, а также ключ /b.
gora,
Пробовал и с кавычками и без. Результат один и тот же.
Результат один и тот же. »
У Вас команда Copy написана не верно вот и результат - ошибка. Я уже написал что не верно. Подробнее Copy /?
gora,
Так я с чтения ntcmds.chm и начал. Там вот что сказано:
...Параметр /b задается по умолчанию для команды copy, за исключением случаев использования copy для слияния файлов....
...Если параметр назначение не указан, файлы объединяются и сохраняются в файле с именем первого файла в списке...
А мне как раз и необходимо сделать слияние. Конструкция, приведённая в первом посте, работает, но только, если запускаю из обычного батника.
Сейчас добавил параметр /b и указал выходной файл - всё равно вылазит та же ошибка.
Сменил на RunProgram="hidcon:cmd: /c copy /y \"%%S\\%Prog1%\"+\"%%S\\%Prog2%\" %%T\\%Prog3%"
теперь пишет, что отказано в доступе.
Так я с чтения ntcmds.chm и начал. Там вот что сказано: »
Попробуйте набрать в консольном окне Copy /? и увидите следующее:COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B]
[+ источник [/A | /B] [+ ...]] [результат [/A | /B]]
источник Имена одного или нескольких копируемых файлов.
/A Файл является текстовым файлом ASCII.
/B Файл является двоичным файлом.
...
Чтобы объединить файлы, укажите один конечный и несколько исходных файлов,
используя подстановочные знаки или формат "файл1+файл2+файл3+...".
Сменил на
Код:
RunProgram="hidcon:cmd: /c copy /y \"%%S\\%Prog1%\"+\"%%S\\%Prog2%\" %%T\\%Prog3%"теперь пишет, что отказано в доступе. »
А что в переменной %Prog3% я должен догадаться!? :dont-know
Да и в переменной %%T у Вас могут быть пробелы, а кавычек опять нет. А если это временная папка, то она уничтожится после окончания работы SFX и где Вы найдете результат?
Приводите всегда полный конфиг, дабы и другие знали, что там у Вас и как.
gora,
Всё, разобрался, заработало! Большое спасибо!
Нужно сделать самоудаление sfx, не дожидаясь завершения запущенного из него exe-файла (при этом желательно, чтобы не было видно никаких консольных окон). Вот сам скрипт:
;!@Install@!UTF-8!
Delete="File\\My_File.txt"
RunProgram="%%S\\Programm.exe"
SelfDelete="1"
;!@InstallEnd@!
Habetdin
10-03-2011, 12:54
Nun-Nun, используйте префикс nowait:
Заставляет не дожидаться окончания выполнения команды запуска.
...
При распаковке во временную папку префикс 'nowait' ИГНОРИРУЕТСЯ.
RunProgram="nowait:\"%ProgramFiles%\\My Program\\install.exe\""
не дожидаясь завершения запущенного из него exe-файла »
Смотрите описание префикса forcenowait в справке. Не путайте с nowait, который в Вашем случае не поможет.
PS
Я бы путь и имя запускаемого файла взял в кавычки, ибо переменная %%S может быть и с пробелами.
Habetdin,
Попробовал, к сожалению, не работает из-за распаковки во временную папку.
Смотрите описание префикса forcenowait в справке. Не путайте с nowait, который в Вашем случае не поможет.»
Спасибо, действительно заработало!
Я бы путь и имя запускаемого файла взял в кавычки, ибо переменная %%S может быть и с пробелами. »
Да, уже поправил.
А есть ли какой нибудь конфигуратор inf-файлов?
При деинсталляции не удаляются ярлыки. Прописано удаление и из текущего профиля и из All Users - не помогает. Что в inf-е не правильно?
Nun-Nun, Попробуй изменить PROG2.DelShortcut на PROG.DelShortcut2...Остальные 6 таким же образом.
lokoham,
Попробовал - ничего не даёт. Думаю, тут дело не в названиях секций, а в чём-то ещё, т.к. точно такой же inf с другой программой работает нормально. А для использования с этой программой были исправлены только имя (название) программы, имя её путей и данные, вносимые в реестр (они, надо сказать, и вносятся и удаляются без проблем), всё остальное не менялось.
Хм...интересно...ну может еще конечно дело в флагах,но в этом я не уверен...
Но всё таки проверь,на всякий случай или попробуй другие поставить
http://www.oszone.net/6946/#f2
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.