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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   [решено] Автоматическое удаление программ при закрытии (http://forum.oszone.net/showthread.php?t=194201)

vla-ad 17-12-2010 00:13 1567663

Автоматическое удаление программ при закрытии
 
Здравствуйте господа форумчане!
Однако вопрос ко всем знающим, чтобы решить следующую задачу;):
через install_setap ставлю программу, запускаю и работаю;
- а при закрытии, установленная программа, должна быть полностью удалена с компьютера.
Что для этого необходимо? Или как написать скрипт? Или Куда?
Предполагается НЕ portable версия.
Простите за делитанские вопросы! Но вопрос актуальный.
За ранее спасибо

stalinit078 17-12-2010 00:47 1567683

Цитата:

Цитата vla-ad
Предполагается НЕ portable версия. »

А чем не устраивает portable?

vla-ad 17-12-2010 00:50 1567685

не всегда есть портативная версия - однако, следует задать и такой вопрос:
- а можно ли создать портативную версию самому?

stalinit078 17-12-2010 00:56 1567692

Цитата:

Цитата vla-ad
- а можно ли создать портативную версию самому? »

Зависит от самой программы которую вы хотите сделать portable.

vla-ad 20-12-2010 14:35 1570447

ну вот:
- дальше следует - список программ (коих бесконечное количество) - ответы "можно или нет"...;)
И все же, не уходя от темы, подскажите пожалуйста:
- Можно ли создать скрипт для самоудаления программы в момент закрытия после проделанной работы?

samsobi 20-12-2010 14:58 1570462

vla-ad, можно, например используя AutoIT. Просто надо:
1. Отследить все записи в реестр, создаваемые во время установки.
2. Отследить все добавления новых файлов, все возможные изменения в существующих файлах, все возможные удаления файлов.
3. При самоудалении ВСЁ вернуть назад! :)
Если это покажется сложным, воспользуйся готовыми решениями по созданию портабельных программ...
Гугл сразу наведёт ( хотя бы сюда )

AkP 21-12-2010 02:07 1570840

Это можно реализовать средствами msi.

То-есть, в рамках процесса установки, запустить программу. Это сделает работу программы не самостоятельной, а частью процесса установки. Естественно инсталлятор в данном случае будет находиться в состоянии ожидания успешного завершения. Следующим шагом завершения работы инсталлятора необходимо сделать отмену, то-есть деинсталл.
В теории (зависит от программы и того, как сделан ее родной инсталлятор), довольно легко сделать msi, который будет молча все это проделывать, а соответственно для пользователя это выглядит как обычный файл, на который можно 2 раза мышкой щелкнуть и после некоторого ожидания получить работающую программу.
Естественно, все это подразумевает в перую очередь наличие msi, а не exe, а значить, если его нет, дополнительные телодвижение по его созданию.

Можно сделать легче и не редактировать msi вручную. Если родной инсталлятор не msi, но поддерживает комманды де инсталляции, то сгодиться любой способ вроде nsis`а или того же AutoIT (не уверен, но в теории они должны иметь функцию ожидания выполнения), тогда все выглядет просто: инталл-запуск_с_ожиданием_деинсталл. И ты получишь exe.

Вообще-то, если уж на то пошло, деинсталяцию с коммандной строки поддерживает любая программа, которая кошерно устанавливается на операционных системах, веть ты же ее видешь в оснастке установка\удаление программ.... другое дело, что тут еще надо разбираться как это делается... например wmic... (*шепчет на ушко*: можешь подсмотреть унинсталл стриг в реестре)

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

Но все же странная необходимость, установка, только для того, чтобы немножко поработать. Долго ждать начала работы, долго ждать ее завершения (все относительно конечно, разные программы делают инсталл\деинстал и по 1 мин и по 30 мин). Кроме того, то что ты хочешь, подразумевает наличия у пользователя прав локального админа, а это уже совсем не по феншую. Крайне не рекомендую.

Если ты опишешь ситуацию... для чего все это, то возможно тебе подскажут как это реализовать более правильно....

vla-ad 21-12-2010 02:37 1570849

Цитата:

Цитата AkP
....Если ты опишешь ситуацию... для чего все это, то возможно тебе подскажут как это реализовать более правильно.... »

М-да - целая философия. Видать заведомо хорошо знакомы с нехорошими операциями.
Однако я только о хорошем.
В частности:
- чисто админские цели, прийти, сделать и уйти.
Довольно часто приходится сталкиваться с тем, когда, оставляя нужный софт на машине, через время определяешь кучу ошибок и проблемы только из-за любопытности пользователя, который тыкает что не надо и куда не следовало бы.
Дабы избавиться от ненужных постдействий и минимизировать работу по времени, желателен такой скрипт или может порядок действий, создания и записей, чтобы устанавливая необходимый пакет программ, поработав, можно было бы смело закрывать с надеждой на удаление. Вот и вся задача.
Не вижу ничего предосудительного.

AkP 21-12-2010 02:49 1570854

Перечитай мой предидуший пост еще раз, ты ответил, пока я его редактировал, добавляя пару новых мыслей.

Цитата:

Цитата vla-ad
Довольно часто приходится сталкиваться с тем, когда, оставляя нужный софт на машине, через время определяешь кучу ошибок и проблемы только из-за любопытности пользователя, который тыкает что не надо и куда не следовало бы. »

Если ты про пользователей на своем предприятии или ты где-то приходящий..., то рекомендую закрыть возможность "любопытного тыка" на корю, если ты про домашние машинки, то пусть тыкают.., чем больше наломают, тем больше денег заплатят за восстановление... за ваши деньги все что угодно, можете даже костер в системнике разводить - я все восстановлю....
Помни, если ты все же сделаешь, что задумал, то можешь потерять авторитет... представь себе 2к7 офис, на котором чтоб "поработать" пользователю приходиться ждать ну не реально большое время и еще один залетный мальчик, который не разбираясь в ситуации просто сносит твое и ставит свое, у него работает быстро и красиво, у тебя долго и неприятно.....
пользователь в данном случае должен четко и осознано понимать почему у него программы работают "не так".

vla-ad 21-12-2010 03:27 1570859

Цитата:

Цитата AkP
пользователь в данном случае должен четко и осознано понимать почему у него программы работают "не так". »

и я к тому же - тем более, если необходимо что-то сделать на месте или удаленно хотелось бы смело работать, зная что не забыл ничего и все убрал и закрыл. Лишний софт на машине ни к чему))
- Я так понимаю здесь по этому вопросу мне никто не поможет?
- или что в изначальном вопросе было не так?

AkP 21-12-2010 07:42 1570909

Цитата:

Цитата vla-ad
- Я так понимаю здесь по этому вопросу мне никто не поможет?
- или что в изначальном вопросе было не так? »

Очевидно, все зависит от того что ты понимаешь под "поможет" )))

Варианты уже даны.
На мой взгляд самый простой - cmd (тихая установка-запуск с ожиданием-деинсталл командой из унинсталл стриг), самый правильный - редактировать msi (юзер акшен на запуск проинсталлированного приложения и еще один на выполнение штатного деинстала, он там же где то в акшенах, внимательно посмотреть и найдеться).

Как сделать деинсталл, вроде сказано. Как объеденить - тоже..
Выбирай только способ объединения и вперед.

Или непонятно написано? Тогда вызывает вопрос, что именно?

vla-ad 21-12-2010 14:24 1571247

cmd или msi понятно;)
- cmd - это значит тихо, (как?) из командной строки запуск программы?, а как же с ней работать тогда?
- msi - нужно редактировать, но его еще создать нужно, не везде он есть, и как в итоге?
ну вот и вопросы - может для кого-то из ниоткуда, но как по мне до конца так ниче и не понял.
Прошу изв. не все пока догнал.

AkP 21-12-2010 17:02 1571377

Цитата:

Цитата vla-ad
cmd или msi понятно
- cmd - это значит тихо, (как?) из командной строки запуск программы?, а как же с ней работать тогда?
- msi - нужно редактировать, но его еще создать нужно, не везде он есть, и как в итоге?
ну вот и вопросы - может для кого-то из ниоткуда, но как по мне до конца так ниче и не понял.
Прошу изв. не все пока догнал. »

С msi, как я понимаю возиться ты не хочешь, портативные версии тебя не устраивают, хочешь именно с инсталляцией.
+ сам по себе, по завершении работы программы, деинталл не запуститься

Значить это 3 абсолютно разные задачи. Которые необходимо объединить чем-то.

1. Тихая установка приложения. То-есть чтоб пользователь ни чего не делал. По этому вопросу тут чего только нет, ищи по темам, скорее всего найдешь решение, причем реализаций тоже много.

2. запуск приложения с ожиданием... если тебя интересует cmd, то тут обычная комманда start /wait

3. деинсталл.
Можно взять комманду из HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*приложение*
параметр: UninstallString
Именно значение данного параметра используется системой тогда, когда ты в "панель управления\установка удаление программ" нажимаешь "удалить".
Как заставить эту комманду работать "тихо" сугубо индивидуально и зависит от того что это за программа (это как с тихой установкой, либо имеется возможность, либо еще дополнительно точить)

Ну а объединение, это как душе нравиться, можно объединить любым инсталлятором или сценарием.. интересует cmd?

вот как пример, тихая установка запус и снос winrar`a, но имей в виду без установки нет ассоциаций, так что, просто так архив не открыть, впрочем можно сделать ассоциации на что угодно.. ни кто не мешает сделать на архивы ассоциацию на твой сценарий, только не забуть ему передать имя файла и его внутри отдать исполняемому файлу:

winrar.cmd + ассоциация на запуск дааного скрипта (имя файла будет передаваться параметром %1
------

set install_patch="C:\Software\Arc\WinRar.3.91"

start /wait "" "%install_patch%\wrar391ru.exe" /s

start /wait "" "%ProgramFiles%\WinRAR\winrar.exe "%1""

start /wait "" "%ProgramFiles%\WinRAR\Uninstall.exe" /s

exit
------

быстро и просто, но неприятно хотябы тем что рождаеться черненькое окно, непомню, вроде можно его скрыть как то, вроде /b, хелп глянь.
можешь это спрятать куданить в C:\distrib, а пользователю на раб стол ярлык.... но это как самый быстрый вариант, опять же по сути это все можно скомпилять и в exe.... и иметь 1 файл, который делает то же самое....


Время: 14:41.

Время: 14:41.
© OSzone.net 2001-