Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Современный creator инсталяшек

Современный creator инсталяшек

Ответ
Поиск в этой теме
Непрочитано 22.04.2012, 15:11 #1
Современный creator инсталяшек
Sleekka
 
-
 
Москва
Регистрация: 24.07.2005
Сообщений: 1,335

Коллеги, здравствуйте, хотелось бы обменяться опытом по вопросам install tools. Т.е. средства создания инсталяционных пакетов собственного приложения.
Итак до этого момента я использовал IsTool - версии 5.2.1
впринципе всем устраивает, но чувствую шестым чувством что он уже морально устарел.

Какие проблемы есть на данный момент.

1) Необходимость обнаружения уже установленного продукта у пользователя. в реестре я регистрирую всего лишь одну строку вида

Код:
[Выделить все]
 (vl-registry-write "HKEY_CURRENT_USER\\Software\\KEP" "folder" "E:\\profile\\develop_dir" )
2) Есть проблемы с тем, что нужно дать полные права на файлы в некой папке находящейся в "C:\Programm files\"
чего под Win7 и Vista у меня не получается.

В связи с этими проблемками хочется чего-то более нового и желательно от Microsoft.

Поэтому, кто-чем пользуется? и можно ли решить описанные выше проблемы если я начну использовать например VS см. вложения?

Миниатюры
Нажмите на изображение для увеличения
Название: 22.04.png
Просмотров: 87
Размер:	45.3 Кб
ID:	79014  

Просмотров: 4151
 
Непрочитано 22.04.2012, 18:01
#2
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Sleekka, IsTool - это всего лишь оболочка с интерфейсом для инсталлятора InnoSetup. Да и то уже устаревшая. Сейчас в качестве оболочки используется InnoIDE.

Естественно, что сам инсталлятор надо обновлять - старые версии не могут знать о новых OS, а самые последние версии Inno всегда в курсе "последней моды" - надо только ими правильно пользоваться, заглядывая в справку. Все свежие версии всегда на сайте программы. Правами из сценариев Inno прекрасно можно управлять.

Точно также не получится сделать современный инсталлятор, если будешь использовать, например, VS-98. Хоть он от Microsoft.

Но, если уж хочешь продать душу дьяволу "желательно от Microsoft", так и приобретай самую последнюю версию Visual Studio. Однако не думаю, что инсталлятор от Microsoft позволит
Цитата:
дать полные права на файлы в некой папке находящейся в "C:\Programm files\"
Как раз Microsoft и считает, что полных прав на эту папку пользователям давать не надо. На мой взгляд совершенно правильно считает. Для пользователей есть свои папки, куда и должны размещаться все изменяемые компоненты любых программ.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 25.04.2012, 11:50
#3
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Сейчас в качестве оболочки используется InnoIDE.
Спасибо.
Цитата:
Как раз Microsoft и считает, что полных прав на эту папку пользователям давать не надо. На мой взгляд совершенно правильно считает. Для пользователей есть свои папки, куда и должны размещаться все изменяемые компоненты любых программ.
Спасибо, переделаю свою программу под определение имени пользователя.

А вот что делать с определением уже установленной версии, к примеру для выпуска патчей?
Sleekka вне форума  
 
Непрочитано 25.04.2012, 12:44
#4
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
А вот что делать с определением уже установленной версии, к примеру для выпуска патчей
Переделывать, как положено. Патч как раз это и может сделать - перенести файлы в правильные места.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 25.04.2012, 15:57
#5
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Переделывать, как положено. Патч как раз это и может сделать - перенести файлы в правильные места.
Копировать файлы с заменой у меня втупую не получалось. Для этого нужно было запускать деинсталяцию установленного приложения, но есть проблема с определением, установлено ли уже приложение. Но это я потом покопаюсь.

сейчас надыбал константы для доступа к изменяемым папкам.
Подскажите пожалуйста в чем разница между использованием
Код:
[Выделить все]
\Admin\Application Data\
и

Код:
[Выделить все]
\Admin\Local Settings\Application Data\
Sleekka вне форума  
 
Непрочитано 25.04.2012, 17:44
#6
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


В Windows 7 нет ни того ни другого, вроде в Vista тоже. Делай выводы...

Рекомендую использовать переменные окружения:
%APPDATA%
%ALLUSERSPROFILE%
%LOCALAPPDATA%
%TEMP%
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Непрочитано 25.04.2012, 18:05
#7
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Sleekka Посмотреть сообщение
Подскажите пожалуйста в чем разница между использованием
Код:
[Выделить все]
\Admin\Application Data\
и
Код:
[Выделить все]
\Admin\Local Settings\Application Data\
Если у тебя переносимый профиль Windows, то первый каталог будет переноситься с профилем. Второй обозначенный тобой каталог привязан к локальной машине и с переносимым профилем Windows не передаётся.
Цитата:
В Windows 7 нет ни того ни другого, вроде в Vista тоже. Делай выводы...
В 7-ке структура немного изменилась. Каталоги расположены иначе, но суть та же.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 25.04.2012, 19:47
#8
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
В 7-ке структура немного изменилась. Каталоги расположены иначе, но суть та же.
А потом 8-ка придет и т.д.

Никогда не надо использовать физические имена каталогов! Совет Евгения совершенно правильный.

Но в InnoSetup имеются свои константы (см. справку). Они имеют вид {app} {pf} {pf32} {pf64} {localappdata} {userdocs} & {commondocs} и так далее.

Смысл понятен и в справке растолкован. Программа инсталляции при работе подставит соответствующие значения пространства имен соответствующей версии Windows.
ShaggyDoc вне форума  
 
Непрочитано 25.04.2012, 19:50
#9
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Никогда не надо использовать физические имена каталогов! Совет Евгения совершенно правильный.
Я ответил на вопрос о назначении каталогов. То, что использовать следует системные переменные - это само собой разумеется. Я нигде не писал, что их использовать не нужно.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 26.04.2012, 05:38
#10
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
То, что использовать следует системные переменные - это само собой разумеется. Я нигде не писал, что их использовать не нужно.
Так я и не тебе писал. Конечно, ты это знаешь.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 27.04.2012, 11:33
#11
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Спасибо за советы. Конечно же я буду использовать переменные, не совсем же я дерево =)
У меня алгоритм примерно такой.
1) инсталятор ставит прогу с помощью переменных и пишет папки в реестр.
2) лисп получает значения путей доступа из реестра.
Sleekka вне форума  
 
Непрочитано 27.04.2012, 14:19
#12
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Цитата:
Сообщение от Sleekka Посмотреть сообщение
1) инсталятор ставит прогу с помощью переменных и пишет папки в реестр.
2) лисп получает значения путей доступа из реестра.
Дело вкуса, я использую (getenv "appdata")...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 27.04.2012, 14:32
#13
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Дело вкуса, я использую (getenv "appdata")...
ну тут не только вкуса, пользователь в инсталлере имеет право установить прогу куда он хочет например "C:\Вася молодец" и (getenv "appdata") тут никак не спасет ситуацию. А нужна мне не только папка в которой можно менять файлы, но и основная папка программы.
Sleekka вне форума  
 
Непрочитано 27.04.2012, 14:46
#14
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Цитата:
Сообщение от Sleekka Посмотреть сообщение
"C:\Вася молодец" и (getenv "appdata") тут никак не спасет
Как минимум 2 варианта:
1. Все грузить в appdata (типо есть плагин и все) я в итоге для себя вывел что этот метод самый надежный, есть установщик он устанавливает, обновляет и сносит если надо, причем всегда корректно - от этой "совободнодоступной" c:\вася молодец - ничего кроме гемора от шаловливых ручек нет.
2. В appdata хранить ссылку на "основную" папку программы.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Современный creator инсталяшек

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что включает в себя проект приспособления здания под современный характер использования? Lubava Архитектура 2 22.03.2012 21:35
Посоветуйте современный российский журнал по интерьерам? dextron3 Поиск литературы, чертежей, моделей и прочих материалов 4 10.09.2011 13:20
Ищу материал для исходника к презентации по теме "Купольные покрытия: расчет, конструирование, современный взгляд" XOn Поиск литературы, чертежей, моделей и прочих материалов 4 19.12.2008 12:52