Как разработчик Windows может легко заставить его программное обеспечение работать хорошо под Wine - PullRequest
10 голосов
/ 07 января 2009

Многие из моих пользователей говорили мне, что они хотели бы запускать мое программное обеспечение на своих компьютерах с Linux под Wine.

Но я разработчик Windows, у которого практически нет опыта работы с Linux.

Теперь я мог бы потратить месяц или два на установку Linux, изучение Linux, установку Wine, изучение Wine, а также полностью убедиться, что мое приложение хорошо работает под Wine. Но я все еще занимаюсь разработкой для Windows, поэтому я не хочу сейчас уделять так много времени разработке.

Так что же я могу сделать без особых усилий, чтобы моя программа работала как можно лучше под Wine?


Я нашел эту общую справку по запуску приложений под Wine .

Ответы [ 8 ]

11 голосов
/ 07 января 2009

Загрузка VMWare и Виртуальная машина Ubuntu (Ubuntu - это популярный дистрибутив Linux) с сайта VMWare. Это обеспечит вам работающую операционную систему Linux в вашей среде Windows без необходимости установки Linux вручную.

Затем вы можете использовать инструкции здесь для установки Wine, на этой вики-странице также приведены некоторые инструкции по его использованию.

Если вы будете следовать советам Адама Розенфилда и просто попробуете запустить приложение в Wine без изменений, вы сможете быстро определить, есть ли проблемы. Я предполагаю, что они есть, иначе ваши пользователи не связались бы с вами по этому поводу:)

Существует множество способов получить помощь по отладке приложений в Wine, обратитесь к на веб-сайте , чтобы найти варианты, и выберите несколько подходящих вам способов. Как всегда, лучше не полагаться на один канал связи.

Кроме того, если вам удобнее разрабатывать в Windows, подход с использованием виртуальной машины позволит вам скомпилировать код как обычно в Windows и скопировать двоичный файл в виртуальную машину для тестирования (Ubuntu поддерживает просмотр / монтирование Windows акций).

5 голосов
/ 07 января 2009

Пока вы не делаете ничего необычного, например, играете с аппаратным обеспечением или изучаете недокументированные вызовы API и структуры данных, вы сможете запускать свой код под Wine без каких-либо изменений или без изменений. В Wine реализована довольно полная реализация общедоступных API-интерфейсов Windows, поэтому, если ваша программа работает хорошо и не суетится, она должна просто работать.

3 голосов
/ 09 января 2009

Я был довольно удивлен, когда одно из моих приложений Delphi5 только что заработало на zip.

Единственный реальный способ, которым это сработает, это сделать это самостоятельно, то есть установить vmware и дистрибутив linux, как предложил Шон. Linux на самом деле не так уж и сложен, и мы все здесь, чтобы помочь.

Пройдя быстрый тест, я могу подтвердить, что он в основном работает. При запуске ACCVIO читает 0x34, диалоговое окно с ошибкой можно игнорировать и приложение запускается, я открыл GEDCOM Стива МакКарти.

Скриншот

Это было использование Wine 1.1.12 под MEPIS 7.9.94-rc1_32 под VMWare. Настоятельно рекомендуем использовать VMWare для такого рода вещей.

3 голосов
/ 07 января 2009

Избегайте использования WPF - это предложение № 1.

Но это действительно не убило бы вас, чтобы протестировать ваше приложение под Wine. Это не так сложно попробовать; это конечно не займет месяцы. Например:

Используйте http://www.ubuntu.com/getubuntu/downloadmirrors#wubi для установки Ubuntu в файл на вашем компьютере с Windows, затем запустите Ubuntu и установите последнюю версию Wine с http://winehq.org/download/deb Затем попробуйте запустить установщик вашего приложения. Если это не сработает, проверьте FAQ по Wine, обратитесь за помощью на один из винных форумов и / или сообщите об ошибках в трекер ошибок вина.

Должно пройти около трех часов с самого начала до опробования вашего установщика.

3 голосов
/ 07 января 2009

Не используйте слишком много Windows API! Не используйте ничего нового от Microsoft;)

0 голосов
/ 15 декабря 2017

Wine более чувствителен к ошибкам, чем Windows. Например, Wine будет аварийно завершать работу с дескрипторами окон NULL и не сможет создавать окна, если класс недействителен, тогда как Windows более устойчива и просто обойдет ошибку.

Это возможность очистить ваш код.

Я был поражен тем, насколько хорошо Wine запустил мое приложение при первой попытке. Однако мне пришлось избавиться от стороннего компонента, основанного на драйвере.

0 голосов
/ 09 сентября 2009

Найти бета-тестеров Linux. Он может сообщить об ошибке разработчикам WINE или найти ошибку в вашем приложении.

0 голосов
/ 07 января 2009

На каком языке / платформе вы разрабатываете? В зависимости от того, что это, не должно быть никаких проблем, чтобы это работало нативно. Например, если вы используете Java или Python, оба работают очень чисто в Linux. Аналогичным образом, если вы являетесь разработчиком .NET, вы сможете с некоторой болью запустить ваше приложение в Mono.

...