2009-06-12 7 views
0

J'ai un programme que j'ai l'intention d'installer sur des machines Linux et Windows. Je l'ai croisée bien (avec autotools), mais à un moment je voudrais que le programme soit capable de mettre à jour ses binaires. La seule façon que je peux penser ce faire sont:Correctif multiplateforme

  • Donner aux utilisateurs un accès en écriture à "C: \ Program Files \ Foo programme" ou "/ usr/bin/foo_program".

ou

  • Installez le programme dans le répertoire profil/home de l'utilisateur.

Aucune de ces solutions ne semble être une bonne idée. Qu'est-ce que tu ferais?

+0

On dirait que David a la bonne idée. Je vais faire des debs/rpms pour Linux et un MSI pour Windows. Merci. – Tim

Répondre

0

Vous devez nous donner plus de détails sur ce que vous essayez de faire - je ne comprends pas le lien entre la multiplateforme, les correctifs et votre question. Si vous avez besoin de mettre à jour automatiquement le programme, sous linux au moins, la meilleure solution est de fournir un paquet binaire (rpm, deb, any, selon votre cible), qui est mis à jour régulièrement - de sorte que les nouvelles versions seront récupérées par le gestionnaire de paquets. Sur Windows et Mac OS X, les choses sont généralement plus décentralisées, chaque programme a son propre gestionnaire de mise à jour. La meilleure solution technique dépend de la technologie (C/C++/python/peu importe). Une exception que je peux penser à Linux est vmplayer, qui vous indique quand il y a une nouvelle version - mais vous devez encore installer la nouvelle version.

+0

Je veux que le programme puisse se patcher. Le programme fonctionne sur Windows et Linux. Ainsi, les correctifs multi-plateformes. – Tim

+0

Ah ok - J'étais confus par la compilation multiplateforme et croisée. Vous voulez un cadre (multi-plateforme) pour la gestion des mises à jour. Je pense que msi a quelque chose pour cela, si vous utilisez InstallShield: http://community.installshield.com/showthread.php?p=296750 (je ne l'ai jamais utilisé) –

+0

Et je ne pense pas que vous trouvera des solutions multi plates-formes qui fonctionnent très bien sur toutes les plateformes. La mise à jour automatique est mal vue dans Linux en général, alors qu'elle est souhaitée sous Linux. –

0

Si le programme binaire est inscriptible, vous pouvez télécharger le patch ou les nouveaux bits sur% TEMP% ou/tmp puis les appliquer au binaire. Je ne pense pas que vous deviez être capable de créer de nouveaux fichiers dans le répertoire. Mais vous allez rencontrer des problèmes sous Windows avec le fichier en cours d'utilisation pendant que vous essayez de le patcher.

Questions connexes