Страница: 1 |
Страница: 1 |
Вопрос: Dependenciese
Добавлено: 13.11.05 04:54
Автор вопроса: Timon
Что сделать, чтобы VB.NET приложение запускалось на компе, где нет фрэймворка?
Вообще, можно делать Setup, но там свои вопросы. Можно ли как лиьо иначе?
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 13.11.05 12:45
там где его нет - надо установить
Номер ответа: 2
Автор ответа:
Timon
Вопросов: 1
Ответов: 6
Профиль | | #2
Добавлено: 13.11.05 19:03
Но ведь это до фига места (dotnetfx.exe 20,8 МБ)
А проге надо совсем немного.
Setup,вообще, пишет не отдельные dll в dependenciese, а сразу dotnetfxredist_x86_enu.msm и запрещает её включать, но при компиляции предупреждает, типа, включите сюда dotnetfx.exe. Как это сделать?
Получается прога в 1.2 МБ должна весить более 20?
Для Интернета это нереально.
Номер ответа: 3
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 13.11.05 20:16
А реально, что для работы проги нужна винда?
Винда весит полгига (например). Для инета это реально?
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 13.11.05 21:29
Ну а кто тебя заставлял на дотНЕТе ее писать!? Неверный выбор средств разработки вина твоя...
Номер ответа: 5
Автор ответа:
Timon
Вопросов: 1
Ответов: 6
Профиль | | #5
Добавлено: 13.11.05 22:03
А как же кроссплатформенность?
Значит дерьмовая среда?
То бишь отдельный exe распростронять не получится полюбак?
Значит единственный выход SETUP?
Тогда чего vs хочет, предлагая включить в setup dotnetfx?
Номер ответа: 6
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #6
Добавлено: 14.11.05 01:41
Чтобы не найти FrameWork, надо очень постраться. Он есть уже на любой мало-мальски новой компашке с виндой (если его не вырезают только).
А потом уж распространяй сколько влезет.
Номер ответа: 7
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #7
Добавлено: 14.11.05 06:30
Setup не обязан содержать .net framework, он просто у клиента, у которого не стоит framework, не будет ничего устанавливать до тех пор, пока не поставят framework.
Номер ответа: 8
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #8
Добавлено: 14.11.05 07:49
Можешь повесится например. Шучу Технология .NET предназначена преимущественно для интернета. Если не веришь, спроси у Микрософт (или см. ответ 3), там тебе подтвердят что это действительно так. А то что у тебя каких то там библиотек не хватает, значит ты просто не продвинутый чел (у всех продвинутых челов есть фрамеворк).
Номер ответа: 9
Автор ответа:
Timon
Вопросов: 1
Ответов: 6
Профиль | | #9
Добавлено: 14.11.05 14:52
Не вырезают, а обрезают.
Не пробовал запускать на ХР, но на '98 и '2000 требует библиотек. А распространяется frame обычно со средами типа VS (на сколько мне известно)
1)попробуй сам скомпилировать, он вякнет варнинг, чтобы включил dotnetfx.exe, он у меня есть но как именно я должен его включить в setup я не врубаюсь.
2)запускается и ставится (если конечно исмользовать setup.exe и 3 прилагающихся файла, а не просто запускать .msi) надо только убрать condition
пробовал, но с потолка до клавы тянуться далеко
у меня всё укомплектовано, речь идёт о конечном юзере.
Номер ответа: 10
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #10
Добавлено: 14.11.05 15:00
Я без проблем делал Setup.exe без включения в него framework'а. Более того, станартными срествами ты никак не сможешь включить framework внутрь своего setup'а.
А файл msm, который включается в проект автоматически, служит лишь для того, чтобы перед началом установки проверить, есть ли на компьютере Framework.
Номер ответа: 11
Автор ответа:
Timon
Вопросов: 1
Ответов: 6
Профиль | | #11
Добавлено: 14.11.05 21:25
Павел, спаибо. Только вот, файл dotNETFXRedist_x86_enu являет собой все зависимости проекта(хотя чем он является я не знаю 2.4 мб), а проверка производится из-за выставленного по умолчанию условия, если его удалить то все ставится, но не запускается
Этот msm включить нельзя VS ругается:
ERROR: dotNETFXRedist_x86_enu.msm must not be used to redistribute the .NET Framework. Please exclude this merge module.
А если не включить, то:
WARNING: This setup does not contain the .NET Framework which must be installed on the target machine by running dotnetfx.exe before this setup will install. You can find dotnetfx.exe on the Visual Studio .NET 'Windows Components Update' media. Dotnetfx.exe can be redistributed with your setup.
Чего он хочет не понятно. Но это не суть важно.
По идее возможно включение всех используемых компонентов прямо в exe файл.Возможно ли это сделать в VS? (например в borland delphi можно вообще не использовать framework, или включать его часть в приложение)
Номер ответа: 12
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #12
Добавлено: 15.11.05 08:53
Включать Framework внутрь exe нельзя, что вобщем-то логично.
Насчет того, как к своему setup'у прицепить .NET Framework: вот решения от MS:
http://www.microsoft.com/downloads/info.aspx?na=22&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&genscs=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d66350891-d15b-446b-bd69-f7f849224a00%26DisplayLang%3den
http://www.microsoft.com/downloads/info.aspx?na=22&p=2&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&genscs=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d627921a0-d9e7-43d6-a293-72f9c370bd19%26DisplayLang%3den
http://www.microsoft.com/downloads/info.aspx?na=22&p=3&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&genscs=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dbf253cfd-1efc-4fc5-ba7e-6a6f21403495%26DisplayLang%3den
Номер ответа: 13
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #13
Добавлено: 15.11.05 17:14
Копирую часть письма, направленного автору темы почтой - может кому
еще эта информация поможет.
dotnetfx.exe - дистрибутив .NET Framework. Его можете найти например
на диске с дистрибтивом VS .NET. Если у вас лицензионный VS .NET, то
там отельный диск с предустановочными компонентами (Prerequisities
вроде называется), вот там он и лежит.
Без установленного .NET Framework Ваша программа не будет работать.
Поэтому прежде чем программу запускать, надо чтобы .NET Frmework был
установлен на компьютере. Иначе никак. Нет, есть конечно тулзы,
позволяющие (по словам производителя) засунуть в exe только
необходимые библиотеки из .NET Framework, но во-первых они много
стоят, во-вторых вряд ли идеально работают.
Насчет BootStrapper - это штука, позволяющая "привязать" dotnetfx.exe
к вашему setup'у. То есть вы кладете в одну папку ваш setup, exe из
Bootstrapper'а и dotnetfx.exe. Возможно еще надо что-то в конфиге
bootstrapper'а подкрутить - почитайте readme, та мдолжно быть
написано. И при запуске exe из bootstrapper'а у клиента сначала
установится .Net Framework (если еще не установлен), а потом ваш
setup.
Номер ответа: 14
Автор ответа:
mr_Frank
ICQ: 316417
Вопросов: 36
Ответов: 94
Web-сайт:
Профиль | | #14
Добавлено: 17.11.05 09:18
У меня получалось брать классы фраемворк в отдельных dll, и просто ложил их в каталог с программой, если так неимётся создать один файл то можно все эти DLL положить в reg файл, поместить его в твой exe-шник а потом просто из него вытащить их в System32. dll я находил в google. Единственная фара такого подхода - замучаешься с dll т.к. для каждого класса своя dll.
Номер ответа: 15
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #15
Добавлено: 17.11.05 10:40
Так работать не будет. .Net Framework - это не только библиотека классов. Это еще CLR и ряд утилит.