|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320Такую фигню я уже давно не собираю. Думаете, я бы из-за такой фигни шум поднимал? Мне всякие извращения подсовывают - службы с кастом экшенами , чужие инсталляторы с забытыми исходниками и хитровывернутыми алгоритмами установки, где в пакете три и больше программ , зачастую на разных языках, и по два разных ран-тайма устанавливаются. Ещё и чужие - создатель уволился или умер, а ты нам перепакуй в новый пакет его поделки.Развернуть службу, используя custom action - это же чудо какое-то. А три экзешника в пакет запихать - это вообще... Даже слов не найти, как описать такую ситуацию. Нонсенс! О чём вообще топик? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 23:21 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320Я думал просто, что это перевод и есть оригинал на английском.Переведите аббревиатуру RSDN, потренируйте свой английский. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 23:26 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
Тогда скажите, пожалуйста, как поменять последовательность действий при инсталляции? Мне нужно: 1) создать папку; 2) запустить кастом экшен, который создат в созданной ранее папке нужные файлы; 3) заменить часть файлов, созданных на этапе 2, другими файлами - т. е. сначала удалить их, а потом создать новые (комбинация элементов RemoveFile и File). Проблема в том, что всегда сначала удаляются папки и файлы, а потом создаются. Т. е. заменить-то я смогу, но только ПЕРЕД тем, как создам папку. В результате настоящая последовательность действий такая: 1) удаляются файлы, обозначенные в RemoveFile - поскольку их ещё нет, то ничего не делается; 2) создаётся папка по пункту 1 выше; 3) запускается кастом экшен по п. 2 выше. В результате те файлы, которые должны быть удалены, не удаляются. Вот существенная часть кода моего инсталлятора: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 14:00 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320, Вам надо удалить ранее установленные файлы и инсталлировать новые? Обновить версию программы что-ли? Зачем тут Custom Action? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 14:20 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320, не мучьте свой и других мозги, используйте батники. если начнете мучить инсталяторы, на программирование времени уже не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 15:10 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
skyANAuser7320, Вам надо удалить ранее установленные файлы и инсталлировать новые? Обновить версию программы что-ли? Зачем тут Custom Action? Мне надо запустить чужой инсталлятор. Потом заменить часть файлов, установленных этим чужим инсталлятором, на свои. Всё сделать из своего инсталлятора. Знаю, что плохо. Но надо. Исходники чужого инсталлятора потеряны. Лог его инсталляции представляет из себя огромный список чего и куда ставилось, плюс там ещё рантаймы устанавливаются, которые, по-моему, в логе не входят. Времени мало, поэтому проще запустить этот дурацкий чужой инсталлятор и заменить часть файлов, им установленных. Штука в том, что мой инсталлятор не знает, куда будет делать установку этот чужой. Поэтому я пишу инструкцию, где говорю, что этот чужой инсталлятор должен ставить в такую-то папку. Эту папку создаст мой инсталлятор. Поэтому мой инсталлятор будет знать, куда чужой положил свои файлы, и сможет заменить файлы чужого на свои. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 16:41 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
С0ВЕСТЬuser7320, не мучьте свой и других мозги, используйте батники. если начнете мучить инсталяторы, на программирование времени уже не будет. Я наконец-то начал разбираться в Виндовс Инстоллере и в Виксе, хотя бы немного. Какой резон мне бросать всё и лезть в новую, тёмную для меня, комнату? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 16:42 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320, ты будешь докладывать в форум о каждом своём новом шаге в IT ипостаси? Ожидаю, что завтра будет тема: "Как я устал парсить txt файлы, почему бы этим не заняться специально обученным сотрудникам - парсоменеджерам?" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 16:55 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
cooldeveloperuser7320, ты будешь докладывать в форум о каждом своём новом шаге в IT ипостаси? Ожидаю, что завтра будет тема: "Как я устал парсить txt файлы, почему бы этим не заняться специально обученным сотрудникам - парсоменеджерам?" Я бы хотел, чтобы мне помогли с моим инсталлятором. Я тут создал вопрос на StackOverflow - не мог бы кто-нибудь помочь, что-нибудь посоветовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 17:22 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320С0ВЕСТЬuser7320, не мучьте свой и других мозги, используйте батники. если начнете мучить инсталяторы, на программирование времени уже не будет. Я наконец-то начал разбираться в Виндовс Инстоллере и в Виксе, хотя бы немного. Какой резон мне бросать всё и лезть в новую, тёмную для меня, комнату? Я Вас умоляю, изучение инструкций батника del + copy уходит не более 10-20 секунд Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 17:24 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320, ответь на банальный опрос . Знаешь ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 17:25 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 17:38 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
cooldeveloperuser7320, ответь на банальный опрос . Знаешь ответ? Это нарушит исходную последовательность. Кроме того, мне нужно создавать папки два раза - один раз, когда создаю пустую папку для Вайз-инсталлятора, а другой - когда в своём инсталляторе файлы дислоцирую. А там, как я понял, можно поменять последовательность действий как сущностей, а не конкретных действий. Т. е. если я раз поставлю создание папок до удаления файлов, то уже потом не смогу повторить создание папок после удаления файлов. Т. е. мне надо будет создать всю иерархию папок заранее. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 19:19 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320, Custom до InstallFiles сделать попробуйте ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 19:21 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
Я так понимаю должно выглядеть примерно так: Код: xml 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 19:25 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
LelouchЯ так понимаю должно выглядеть примерно так: Код: xml 1. 2. 3.
Тогда это будет после RemoveFiles, а этого не должно быть - ремувать сначала нечего, а потом уже нельзя. Если кто-нибудь в этих инсталляторах разбирается - может, и нельзя сделать, как я хочу? Может, только за счёт кастом экшенов можно? Но тогда фактически кодом нужно писать свой инсталлятор. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 22:03 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
cooldeveloperuser7320, ответь на банальный опрос . Знаешь ответ? Что? Это ссылка на ПТ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 22:04 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
Что бы я ни делал, а RemoveFile не удаляет файлы. Читаю http://wix.sourceforge.net/manual-wix2/wix_xsd_removefile.htm . Снова читаю http://msdn.microsoft.com/en-us/library/windows/desktop/aa371199(v=vs.85).aspx : авторThe RemoveFiles action removes files previously installed by the InstallFiles action . и дальше по тексту в том же духе... И тут до меня доходит, что эта штука не может удалить файлы, созданные не ей самой! Т. е. если я запускаю Wise-инсталлятор из своей MSI-инсталляции, то мой инсталлятор не знает о файлах, созданных Вайзом, и не может их удалить, даже если я укажу прямую ссылку на файл. Более того, он, похоже, не может даже заменить файлы с совпадающими именами (по факту после проверки файлов оказалось, что время из создания равно времени инсталляции Вайзом, а не времени замены моей установкой. Да и вообще, у меня были действия "удалить", "заменить (через удалить/развернуть)" и "развернуть". Первые два касались файлов, созданных Вайзом непосредственно, а последнее мой MSI-инсталлятор просто копировал из инсталляции в место назначения на машине клиента. Выполнилось только последнее. Lelouch http://wix.sourceforge.net/manual-wix2/wix_xsd_installexecutesequence.htm Не оно? Далее, эта таблица порядка установки. Я уже писал, что у неё минус в том, что раз изменив порядок стандартных дейтсвий, нельзя уже их повторить. Т. е. удалил раз файлы, второй раз уже не удалишь. Всё надо делать только один раз. По крайней мере, я не нашёл нигде способо и описаний, как делать эти действия столько раз, сколько я захочу. Ответ Роба поверг меня в ступор. Неужели я настолько криво изъясняюсь на английском, что он не нашёл ничего лучше, чем повторить мой кусок инсталляции? Даже не знаю, что ему ответить... Что я для себя выяснил. Проще, наверное, будет написать свою ДЛЛ или ЕХЕ, которые удалят нужные мне файлы. Получается, что любое нестандартное действие - шаг влево, шаг вправо от типичных задач Windows Installer'а - и надо писать свою экзешку. Не знаю, может, это связано с тем, что эти инсталляторы расчитаны на слишком уж правильные установки. Там, где требуется исправлять косяки чужих установок или вставлять костыли, они уже не работают. Ну, или работают через черезу кастом экшенов, которые так не рекомендуют использовать создатели этих инсталляторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 16:25 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
авторThe RemoveFiles action removes files previously installed by the InstallFiles action. Короче говоря, RemoveFiles удаляет только файлы в сценарии обновления версии, реустановки и т. п., но главное - что всё должно быть в контексте текущей инсталляции. Windows Installer не может удалить какие-либо другие файлы без кастом экшена. Вообще... Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 16:33 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
А ещё ответьте, пожалуйста, на такой вопрос. Если для запуска моего кастом экшена, написанного на Сишарпер в виде ДЛЛ, требуется Дотнет фреймворк, то для запуска ДЛЛ на С++ тоже требуется что-то библиотечное? Или код С++ сразу выполняется на процессоре, без всяких виртуальных машин? Если я манипулирую файлами и папками, то это же не голым С++ делается, а с использованием библиотек? Т. е. мне придётся развёртывать библиотеки или фреймворк всё равно? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 16:52 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320авторThe RemoveFiles action removes files previously installed by the InstallFiles action. Короче говоря, RemoveFiles удаляет только файлы в сценарии обновления версии, реустановки и т. п., но главное - что всё должно быть в контексте текущей инсталляции. Windows Installer не может удалить какие-либо другие файлы без кастом экшена. Вообще... Или я ошибаюсь?Всё верно. Вы что-то устанавливаете средствами Windows Installer, потом ручками кидаете в Install Directory кучу хлама. Идёте в Programs and Features, анинстоллите вышеуказанное "что-то", а хлам остаётся. То есть файлы, не связанные с инсталлятором, не отслеживаются. Пишите кастом экшн. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 17:01 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
user7320, ну вот, какой день наблюдаем судорожные метания инстляторопейсателя а потратил бы 10 сек. батником ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 17:12 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
С0ВЕСТЬа потратил бы 10 сек. батником 9 секунд. Кто меньше? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 17:50 |
|
Делать инсталляторы - работа программиста?
|
|||
---|---|---|---|
#18+
cooldeveloperС0ВЕСТЬа потратил бы 10 сек. батником 9 секунд. Кто меньше? это образно говоря, смотря какие файлы и количество. тысячу маленьких файликов и за минуту не управишься. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 17:55 |
|
|
start [/forum/topic.php?fid=20&msg=38223880&tid=1404096]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 190ms |
0 / 0 |