Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 593
Благодарности: 222

Профиль | Отправить PM | Цитировать


Вариант использования программы с использованием торрентов.
1. Пользователь желает обновить драйверы и у него уже есть доступ в интернет.
2. Он закачивает один файл SDI_Rxxx.exe и запускает его.
3. SDI загружает из интернета новейший торрент.
4. SDI через торрент сперва загружает локализации, темы и обновленную программу.
5. Если программа обновилась, то перезапускается.
6. Если нужно сменить язык, то он сам выбирается на тот установлен в Windows.
7. Погружаются через торрент индексы.
8. На основе подгруженных индексов определяется какие драйверпаки требуется скачать и производится их скачивание.
9. Производится установка драйверов из закачаных драйверпаков.

Для удобства таких пользователей, я планирую разбить крупные драйверпаки на несколько частей.

Обоснование статической линковки libtorrent.
libtorrent можно линковать статически(внутри самой программы), так и динамически(внешний dll файл). Динамическая линковка оправдана тогда как достоверно известно что комп будет иметь нужные dll или этот dll будет использоваться сразу несколькими программами. Программа может ожидать что основной набор системных dll имеется на каждом компе начиная определенной версии Windows и SDI использует минимальный набор системных dll, которые гарантировано имеются на Windows 2000 и выше. SDI не является пакетом программ, каждая из которых использует libtorrent, так что вынесенный в dll файл libtorrent не использовался бы несколькими программами.

При статической линковке неиспользуемый функционал libtorrent отсекается, что уменьшает размер exe файла. При динамической линковке невозможно заранее определить какие функции из dll будут использоваться, и поэтому в dll ничего не отсекается даже если программе нужна только одна небольшая функция.

Автономность.
Я стараюсь делать программу как можно меньшего размера и наивысшей производительности, но, я считаю, автономность в данном случае важнее. Для сравнения DPS и DIA содержат множество файлов даже с учетом только абсолютно необходимых.

DIA-drv.exe весит 5.8 Мб и все равно требует такие внешние программы как:
DPInst64.exe - 2.4 Мб
DPInst.exe - 2.3 Мб
7za.exe - 200 Кб
devcon64.exe - 70 Кб
devcon.exe - 55 Кб

SDI может все это делать самостоятельно без зависимости от внешних программ.

-------
Автор программы Snappy Driver Installer

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:49, 17-05-2014 | #417