Кроссплатформенное исправление - PullRequest
0 голосов
/ 12 июня 2009

У меня есть программа, которую я собираюсь установить на машины с Linux и Windows. У меня это хорошо кросс-компиляции (с autotools), но в какой-то момент я хотел бы, чтобы программа могла обновлять свои двоичные файлы. Единственные способы, которыми я могу думать об этом:

  • Предоставьте пользователям доступ для записи в "C: \ Program Files \ Foo Program" или "/ usr / bin / foo_program".

или

  • Установите программу в профиль пользователя / домашний каталог.

Ничто из этого не кажется хорошей идеей. Что бы вы сделали?

Ответы [ 2 ]

0 голосов
/ 12 июня 2009

Если двоичный файл программы доступен для записи, вы можете загрузить патч или новые биты в% TEMP% или / tmp и затем применить их к двоичному файлу. Я не думаю, что вам нужно создавать новые файлы в каталоге. Но вы столкнетесь с проблемами в Windows, когда файл будет использоваться, пока вы пытаетесь его исправить.

0 голосов
/ 12 июня 2009

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

Если вам нужно иметь возможность автоматического обновления программы, по крайней мере в Linux, лучшее решение - предоставить двоичный пакет (rpm, deb, любой, в зависимости от вашей цели), который регулярно обновляется - так, чтобы новые версии будут подобраны менеджером пакетов. На Windows и Mac OS X, как правило, вещи более децентрализованы, каждая программа имеет свой собственный менеджер обновлений. Лучшее техническое решение зависит от технологии (C / C ++ / python / что угодно). Единственное исключение, которое я могу вспомнить в Linux, - это vmplayer, который сообщает вам, когда появляется новая версия, но вам все равно нужно установить новую версию.

...