View previous topic :: View next topic |
Author |
Message |
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Thu Aug 03, 2006 12:36 Post subject: Посоветуйте прогу... |
|
|
Вобщем мне нужно сделать такой инсталлятор... Что бы он:
1. Добавлял файлы в заданные директории
2. Добавлял ключи в реестр
3. Выполнял файл после распаковки
4. САМОУНИЧТОЖАЛСЯ!!!
Есть ли такая штука.. Мне это нужно для собственного использования, для автоматизации некоторых процессов.
Сейчас использую Nullsoft Installer и батник
Code: | @echo off
:del_loop
del my_inst.exe
if exist my_inst.exe goto del_loop
del this_file.bat |
Хотелось бы другое что-нибудь, с батником как-то не очень красиво
Посоветуйте пожалуйста что-нибудь.... |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2220 Location: Москва, Россия
|
(Separately) Posted: Thu Aug 03, 2006 13:28 Post subject: |
|
|
Инсталлятор не знаю, но все перечисленное можно сделать скриптом. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Sat Aug 05, 2006 09:30 Post subject: |
|
|
Неужто нет такой проги, или решения подходящего (хотя скрипт тоже решение, просто хотелось бы, одно целое)
Может есть тут знатоки NSIS? , просто он поддерживает кучу макросов, всяких скриптов которых в хелпе нет, может он self-delete умеет??? Ведь созданный им Uninstaller убивает сам себя |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Aug 05, 2006 16:03 Post subject: |
|
|
A.N.T. wrote: | Ведь созданный им Uninstaller убивает сам себя |
Это не так! Uninstaller создает копию файла во временной папке, а та уже удаляет исходный файл. Это описано в документации. |
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Sat Aug 05, 2006 17:00 Post subject: |
|
|
Quote: | Uninstaller создает копию файла во временной папке, а та уже удаляет исходный файл. |
Понял, это даже в справке написано
Люди подскажите в чём может быть проблема..
В NSIS есть макрос GetExeName..
Из справки:
Quote: | E.1.9 GetExeName
Get installer filename (with valid case for Windows 9X/Me).
Syntax:
${GetExeName} $var
Example:
Section
${GetExeName} $R0
; $R0="C:\ftp\program.exe"
SectionEnd |
Как я понял этот макрос получает имя инсталлера и привязывает к переменной $R0,
не пойму как этим пользоваться, вроде вроде бы всё правильно сделал, скомпилился инсталлер, в параметрах Унинсталлера написал delete $R0 но он не удаляет ничего, в чём проблема? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Aug 09, 2006 12:41 Post subject: |
|
|
Windows программы ведь не могут себя удалять. Чаще всего. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
|
Back to top |
|
|
Lamer
Joined: 20 Mar 2006 Posts: 522
|
(Separately) Posted: Wed Aug 09, 2006 18:12 Post subject: |
|
|
На sources.ru ты его видел,этот русский вариант |
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Wed Aug 09, 2006 18:56 Post subject: |
|
|
Народ подскажите плз как с помощью батника удалить файл(myprog.exe) в текущей директории -> т.е. где сам батник находится.
ToLamer
Quote: | Не уподобляйтесь fundukу.Пишите Майкрософт,а не Микрософт.И поменьше кидайте призывов.Laughing
funduk,привет большевикам Wink да ещё и с английским отливом. Smile | В тему подколол |
|
Back to top |
|
|
Lamer
Joined: 20 Mar 2006 Posts: 522
|
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Wed Aug 09, 2006 20:05 Post subject: |
|
|
2Lamer
Quote: | Строчка в батнике
где /q отключает перезапрос: "действительно ли Вы хотите удалить". |
Не до такой степени я и ламер, чтоб не знать этого
Этот вариант мне не подходит вот почему:
Ставил xPize что то вроде темы для XP - тк вот она пофиксила в реестре параметры командной строки фон - вместо чёрного синий и т.д. и самое главное изменила путь по умолчанию к текущей папке, на C:\WINDOWS, таким образом, если я выполню del *.exe то все экзешники из %windir% удалятся , я стал жертвой делита.... Мне нужно, что бы например, создавалась переменная, в которой указывался б путь к текущей директории, ну и потом я выполнил что то вроде del %dir%\myprog.exe
А русскую статейку я видел тут http://deadbeef.narod.ru/work/articles/selfdel.htm |
|
Back to top |
|
|
Lamer
Joined: 20 Mar 2006 Posts: 522
|
(Separately) Posted: Wed Aug 09, 2006 20:28 Post subject: |
|
|
По-моему ты слишком мудришь. Любая команда командного интерпретатора сначала пытается производить операции над файлами в директории,из которой была запущена и только если не находит,анализирует системную переменную окружения PATH. Т.е. ничего лишнего она тебе не удалит.Если сомневаешься, попробуй накидать в свою папку м папку Windows файлов типа *.bla и выполни del *.bla.
А зачем тебе вообще понадобилось пользоваться таким шаблоном *.exe? Почему не конкретно myprog.exe? Ну или списком ,если их несколько.
Ну и в конце концов можно просто прописать полный путь.Т.е. не del myprog.exe , a del c:\myfolder\subfolderofmyfolder\myprog.exe |
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Wed Aug 09, 2006 20:41 Post subject: |
|
|
Спасибо и на этом...
Со *.exe просто привёл пример... Давно не помню зачем мне это было нужно....
А решение я уже нашел
|
|
Back to top |
|
|
StrangeRRor
Joined: 15 Jul 2006 Posts: 214
|
(Separately) Posted: Wed Aug 09, 2006 20:45 Post subject: |
|
|
Предлагаю такое решение:
Code: | @echo off
set path=%~dp0
del %path%*.exe
|
Если хочется, можно добавить /q.
Переменная %0 в bat-файле соответствует нулевому аргументу командной строки, т.е. имени самого файла, %~d1-разворачивает %1 в букву диска, %~p1-разворачивает %1 в путь. %~dp1-разворачивает %1 в букву диска и путь. Таким образом, сочетание %~dp0 будет раскрыто в полный путь к каталогу, где находится сценарий.
З.Ы. Правда, при этом уничтожается и сам bat-файл. |
|
Back to top |
|
|
A.N.T.
Joined: 01 Jul 2006 Posts: 190
|
(Separately) Posted: Wed Aug 09, 2006 20:57 Post subject: |
|
|
StrangeRRor
Твой способ не работает если папка, в которой находится батник названа русскими буквами или в имени имеются пробелы или слишком длинное имя.... |
|
Back to top |
|
|
|