29 votes

Les clients en colère, combattant les dépendances DLL inconnues

Je suis un one-man-show en développement C++ pour Windows application pour un client. Au cours des derniers mois, nous avons été en cours d'exécution pour les mêmes problèmes avec DLL manquante dépendances sur les ordinateurs client. Malgré tous mes efforts quelque chose va mal et nous nous mettons en colère e-mails de retour. Mon patron et mon patron est le patron sont en colère contre moi, et les clients ne sont pas contents.

J'espère que vous les gars peuvent aider et donner des suggestions/idées sur la façon d'obtenir les résultats escomptés de l'ordre. Avant qu'une partie de l'évidence:

  1. Je n'ai pas de machine de test. C'est, je ne peux pas reproduire l'environnement du client, ni de tenter d'installer l'application sur un système "propre" pour attraper les pièges avant l'expédition.
  2. J'ai essayé d'utiliser depends.exe pour traquer les versions des Dll mon projet est dépendant. Je suis d'expédition de notre code avec l'transmissibles, j'ai été en mesure de trouver de cette façon. Après qu'il est en colère, client e-mail jeu d'attente.
  3. J'ai accès à un ordinateur 64-bits et 32-bits machine pour installer de nouvelles versions. Il fonctionne toujours là.
  4. Je suis obligé d'utiliser une DLL de tiers qui peut ne pas être inscrit (c'est buggé comme l'enfer.)
  5. Je ne suis pas censé utiliser Install Shield, tout autre programme d'installation automatisée, ou d'écrire un script d'installation.
  6. - Je fournir des instructions écrites sur la façon d'obtenir l'application installée (ouvrir, double-cliquez sur le fichier exe.)

Je suis fatigué de prendre de la chaleur pour ce genre de choses. Ce qui me manque pour que je puisse être en train de faire? Que dois-je demander en termes de soutien de mon employeur? Comment dois-je soumettre une demande de financement d'une manière qui ils vont le donner?

Mise à jour:

La Machine virtuelle torpillé. Ils ne veulent pas me passer de mon temps et de démolir des configurations clients. Au lieu de cela, je suis en train de travailler avec le client pour obtenir une configuration de base, de sorte que je sais exactement de la machine set-up, je suis censée viser. Si il n'est pas jusqu'à que spec, je n'ai plus de soins. Au moins quelque chose se passe quelque part... même si je voudrais encore une machine de test.

33voto

Crazy Eddie Points 23778

Vous devriez cesser de fumer. Dans votre arrêter de lettre, vous devez expliquer pourquoi la situation est ridicule et définit à la fois vous et le client pour de la frustration. Reprenons les choses que vous avez dit au sujet de votre situation:

Je n'ai pas de machine de test. C'est, je ne peux pas reproduire l'environnement du client, ni de tenter d'installer l'application sur un système "propre" pour attraper les pièges avant l'expédition.

Aucun professionnel de la société de développement des communiqués de produits sans tester l'installation. Nous sommes une très petite entreprise et nous avons de nombreux VM est que nous avons effectué des tests sur et que nous avons nos installateurs sur.

J'ai essayé d'utiliser depends.exe pour traquer les versions des Dll mon projet est dépendant. Je suis d'expédition de notre code avec l'transmissibles, j'ai été en mesure de trouver de cette façon. Après qu'il est en colère, client e-mail jeu d'attente.

J'ai accès à un ordinateur 64-bits et 32-bits machine pour installer de nouvelles versions. Il fonctionne toujours là.

Ce ne sont pas trop mauvaises ou trop étrange. Il est étrange que vous ne savez pas ce que la DLL que vous utilisez, mais il n'y a pas beaucoup de votre employeur pourrait faire pour que si vous êtes le maintien d'un sans-papiers de l'héritage du système alors c'est de leur faute de ne pas documenter quoi que ce soit.

Malheureusement vous l'ai dit, ces systèmes ne sont pas "propre" donc, il est très facile de perdre la trace de ce que les mesures nécessaires pour installer correctement le produit.

Je suis obligé d'utiliser une DLL de tiers qui peut ne pas être inscrit (c'est buggé comme l'enfer.)

Ce qui se passe.

Je ne suis pas censé utiliser Install Shield, tout autre programme d'installation automatisée, ou d'écrire un script d'installation.

- Je fournir des instructions écrites sur la façon d'obtenir l'application installée (ouvrir, double-cliquez sur le fichier exe.)

C'est complètement fou. Les clients ne sont PAS capable de suivre des instructions de base. Le fait que vous avez été dit de ne pas utiliser un programme d'installation pour le client la vie plus facile est presque certainement la cause de votre problème. Vous ne pouvez pas dire ce qu'ils ont fait. Lorsque vous leur demandez, ils vont à mentir ou à oublier ce qu'ils ont fait...si jamais ils savaient pour commencer. Vos employeurs ont causé une sever problème de prise en charge par cet édit et la situation est tout simplement jamais aller à s'améliorer pour vous.

Le lien avec la première question (n'ayant pas suffisant installer des plates-formes de test) et de votre produit, il est certain d'échouer. Vos clients DOIVENT être en colère et vous devriez l'être aussi. La situation de vos employeurs ont créé n'est pas un propices au développement d'un produit à succès. Il est, tout simplement, rien que vous pouvez faire jusqu'à ce que ces questions sont abordées.

25voto

Nemanja Trifunovic Points 17239

Si vous n'avez pas de machine de test, pouvez-vous au moins utiliser une machine virtuelle avec une installation Windows propre?

9voto

MatsT Points 1036
Je n'ai pas de machine de test. C'est, je ne peux pas reproduire l'environnement du client
entrez le code ici, ni de tenter d'installer l'application sur un système "propre" pour les attraper
pièges avant l'expédition.

Ce type de configuration, généralement ne se termine jamais bien. Peu importe comment vous êtes bon il y aura toujours des différences significatives entre votre développeur de machines et les ordinateurs client. Pour une chose Visual Studio tend à inclure un shitload de temps de fonctionnement qu'il peut rendre votre application dépend sans rien dire. Configurer une machine virtuelle n'est pas très compliqué. J'utilise VMWare Workstation pour émuler tous les types de machines différentes. Seule exigence est que vous avez de licences pour les systèmes d'exploitation et les programmes que vous souhaitez installer sur les machines virtuelles. VMWare offre un essai gratuit de 30 jours et d'après ce que je crois $189.

8voto

Michael Burr Points 181287

D'autres personnes vous ont donné une grande photo de réponse; voici quelques petites suggestions qui peut vous être utile dans le cas où vous n'êtes pas capable de prendre plus d'action:

  • la liste de ce que les Dll de votre application dépend. Si vous ne savez pas exactement ce que votre application dépend, comment pouvez-vous vous assurer que les dépendances sont disponibles?
  • Écrire un utilitaire qui effectue la recherche et les journaux de toutes les instances de ces Dll sur un système, ainsi que la version de la DLL et le chemin du système. Si un utilisateur rencontre des problèmes, cet utilitaire peut aller un long chemin à vous aider à résoudre le problème, puisque vous avez mentionné que vous n'avez pas de physique ou d'accès au réseau pour les machines qui présentent le problème.
  • écrire un utilitaire qui ne fait rien, mais LoadLibrary() vos dépendances. Les échecs peuvent être enregistrés et au moins vous aurez un moyen facile de déterminer quel est le problème sur une machine du client.

Nous espérons que les problèmes communs sera trouvé rapidement et les correctifs apportés afin qu'ils cessent d'être des problèmes communs et vous aurez de moins en moins besoin d'utiliser ces outils. Mais jusqu'à ce que vous obtenez une poignée sur les problèmes qu'ils peuvent s'avérer utiles.

Aussi, dans un commentaire, vous mentionnez que le problème est causé par les Dll système de Windows - celles-ci doivent généralement à cause de quelques "l'enfer des DLL" des problèmes sur les systèmes modernes, depuis la 3ème partie logiciel (y compris le vôtre) est généralement pas en mesure de les remplacer. Tous les systèmes Windows devrait obtenir ce que MS offre, et MS est assez bon (mais pas nécessairement) à propos de faire de nouveaux rétro-compatible. Si elles sont à l'origine des problèmes, vous pouvez afficher les détails des DLLs ils sont (et peut-être les versions) afin que les gens peuvent répondre avec plus de détails, à l'instar de ce qui pourrait avoir besoin d'être configuré pour s'assurer que l'installation de Windows installe les DLL.

7voto

Chris Lively Points 59564

Présentez-le à votre patron de cette façon:
Une machine pour tester les installations est beaucoup moins chère qu'un client énervé ou même votre TEMPS pour dépister les problèmes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X