LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Kit de distribution LabWindows/CVI V8.5

Bonjour,

Nous avons acquis la mise à jour de LabWindows/CVI 8.5.1 il y a quelques semaines, nous étions précédemment en version 6.0

Nous avons fait évolué un logiciel créé dans le passé avec la version 6.0 de LabWindows.

Afin d'installer les parties système windows à jour (dll, run-time , ...) sur une machine comportant d'autres logiciels créés avec la

version 6.0 de LabWindows, nous avons utilisé l'utilitaire de création de distribution intégré dans la version 8.5.1

L'installation de la nouvelle version de notre logiciel avec ce kit de distribution a correctement installé les dll dans C:\Windows\System32,

mais a aussi détruit les autres logiciels que nous ne souhaitions pas toucher ! Sans aucun message d'alerte !

Nous supposons que l'installateur a retrouvé le chemin de ces anciennes installation via la base de registre, car les chemins sont différents.

Est-il possible sur une même machine d'installer une nouvelle version d'un logiciel "x" compilée avec LabWindows/CVI 8.5.1, sans perturber

de précédentes installations de logiciel "y" installées précédemment avec le kit de distribution de LabWindows/CVI 6.0 ?

 

Concernant la migration des projets 6.0 vers 8.5.1, il arrive qu'un fichier "uir" issu d'un projet créé sous LabWindows/CVI 6.0 soit non modifiable

et donc inutilisable dans l'environnement LabWindows/CVI 8.5.1 (message à la sauvegarde : "Unable to save user interface resource file, "... .uir",

File is not a User Interface file, or has been corrupted").

La création de ces fichiers "uir" sous LabWindows/CVI 8.5.1 serait longue et regrettable : Comment importer de manière fiable un fichier "uir" de

LabWindows 6.0 vers LabWindows 8.5.1 ? 

 

Merci de nous indiquer une aide pour la résolution de ces problèmes très bloquants.

Sincères salutations,

Franck Dubreuil

 

 

0 Kudos
Message 1 of 15
(5,839 Views)

Bonjour,

 

Concernant vos problèmes d'installation de vos applications mises à jour, que s'est il passé exactement ? Que voulez vous dire par "a détruit les autres logiciels" ?

 

Pour ce qui est de vos problèmes de fichier UIR pouvez vous essayer la manipulation suivante pour les importer vers la nouvelle version :

 

Sous LabWindows/CVI 6.0 lorsque vous éditez votre UIR > Options > Save in text format (fichier TUI).

 

Sous LabWindows/CVI 8.5.1 > Options > Load in text format, puis enregistrer votre fichier en fichier UIR.

 

Cordialement,

 

 

Message Edité par Maxime MULLER le 09-03-2008 04:52 AM
0 Kudos
Message 2 of 15
(5,812 Views)

Concernant le kit de distribution de la version 8.5.1 de LabWindows, je vais essayer d'être plus précis :
Nous voulons constituer un nouveau kit de distribution pour un nouveau logiciel, à installer sur une machine qui comporte déjà d'autres logiciels installés précédemment avec un kit de distribution issu d'une version antérieure de LabWindows, et ceci sans les perturber, ce qui doit être le cas de beaucoup d'utilisateurs de LabWindows qui suivent les évolutions de versions.

Le PC cible avait été précédemment installé d'une suite de deux logiciels dans "C:\Program Files\agents", sous la forme de deux répertoires comportant chacun un fichier "exe, un fichier "uir", et un fichier texte ".ini", grace au kit de distribution de la version 6.0 de LabWindows.
Notre nouveau logiciel créé sous LabWindows 8.5.1 a été installé grace au kit de distribution de la version 8.5.1 et localisé aussi dans le répertoire "C:\Program Files\agents".
A cette occasion le nouveau logiciel a été correctement installé, et les dll correctement mises à jour dans Windows\System32, mais les anciens logiciels ont été dégradés : les répertoires sous le chemin "C:\Program Files\agents" sont soit détruits totalement soit vidés de leur contenu.
Nous reproduisons ce même phénomène systématiquement, et même après avoir changé le répertoire de destination de la nouvelle distribution : "C:\Program Files\temp". Il semblerait donc que le kit de distribution aille lire dans la base de registre le chemin des précédentes installations, mais pourquoi les détruire/vider ?
Un point important à signaler après avoir navigué sur votre forum, le PC de développement sur lequel la distribution est créée ne comporte pas l'installation précédente des autres logiciels.
Je précise ce point au cas où la constitution de la distribution soit influencée par la présence ou non des logiciels installés sur le PC de développement.

Concernant la migration des fichiers "uir" votre réponse me surprend beaucoup, car nous avons fait évoluer nos PC de développement, et nous n'avons pas conservé de PC en version antérieure.
L'essai de migration via fichier texte implique de conserver un PC équipé de la version précédente, ce qui est très contraignant, cette opération ne peut pas être effectuée chez un client sans réinstaller la chaîne de développement sur un PC portable, en clair on s'éloigne d'une souplesse et d'une rapidité d'évolution des versions, conditions indispensables à notre époque du développement de logiciels.
Je vais réinstaller la version 6.0 sur un PC juste pour faire l'essai, mais il n'y a aucun autre moyen de lire un "uir" ancien avec la nouvelle version de LabWindows ? compatibilité ascendante ?

Sincères salutations,
Franck Dubreuil

 

0 Kudos
Message 3 of 15
(5,799 Views)

Bonjour,

 

Merci de votre réponse. Pour ce qui concerne vos problèmes de distributions, je vais en faire part aux ingénieurs des États-Unis.

 

Pour le fichier UIR, vous n'êtes pas obligés de passer par LabWindows/CVI, vous pouvez essayer de faire la même manoeuvre avec seulement LabWindows/CVI 8.5.1 . Seulement, je ne comprend pourquoi il y'a un problème lors de la sauvegarde, en général c'est plutôt l'inverse, lorsque l'on tente d'ouvrir un fichier d'une version antérieure. Je n'ai jamais rencontrés de cas semblables auparavant.

 

En effet, les mises à jour des logiciels sont très importantes d'un point de vue technologique, mais un passage de la version 6 à la version 8.5.1 est un peu brutal.

 

Si vous le souhaitez, je peux essayer de convertir la totalité de vos fichier UIR en me les envoyant soit ici, soit sur le server FTP soit directement par mail : maxime.muller at ni.com.

 

 

0 Kudos
Message 4 of 15
(5,793 Views)

Le comportement que tu décris me fait penser que les deux projets utilisent le même GUID (peut-etre à cause d un copier coller malencontreux)

Afin de verifier cette hypothese, tu peux essayer de modifier le msi GUID directement dans le fichier cds lié à ton projet. ( C:\Program Files\National Instruments\CVI851\sdk\bin\guidgen.exe) et verifier si l'install du nouveau projet supprime l'ancien.

D'ailleurs, que se passe-t-il si tu essaies de reinstaller l'ancien soft?

 

 Nicolas

 

 

0 Kudos
Message 5 of 15
(5,790 Views)

Maxime,

Merci de votre réactivité, vos informations à venir concernant le kit de distribution nous intéressent beaucoup.

Concernant le fichier "uir", j'ai pu en effet l'exporter en fichier texte "tui", puis l'importer à nouveau, mais avec la petite nuance suivante pour que l'opération réussisse : une fois le fichier exporté en "tui", il faut fermer l'uir et en ouvrir un nouveau dans le projet ("File/New/User Interface (*.uir)"), et ensuite utiliser l'importation "Options/Load from text format" dans ce nouveau "uir" fraîchement créé sous 8.5.1

Le fichier "uir" est identique au précédent et complètement modifiable à nouveau.

Dans ces conditions, la manipulation est acceptable car peut être déroulée sur un même PC ne comportant que la dernière version LabWindows/CVI 8.5.1

Merci pour cette information qui permet de résoudre notre problème.

 

Nicolas,

J'ai peur de ne pas bien saisir votre manipulation sur le "msi GUID". J'ai lancé l'utilitaire "guidgen.exe" mais je ne comprend pas ce qu'il faut faire ensuite.

Merci de développer votre idée qui pourrait bien être une piste intéressante ...

 

Sincères salutations pour votre support,

Franck Dubreuil

 

 

0 Kudos
Message 6 of 15
(5,784 Views)

Depuis les versions 8.0 de CVI, me semble-t-il, les infos sur les packages d'installation sont sauvees dans un fichier .cds qui porte le meme nom que le fichier .prj auquel il se rapporte.

Le fichier en question - examine sous un editeur de texte commence ainsi:

<distribution version="8.5.1" name="Le_nom_du prj" type="MSI">
    <msi GUID="{22C05D19-123456-1234-A508-6BA108CBA70D}">

 

 

Le msi GUID est un identificateur qui permet de gerer les updates de logiciel (meme GUID => update; autre GUID => soft sans rapport)

Ce que je proposais etait de modifier le fichier cds avec un editeur de  texte.

Une autre possibilité est de detruire ce fichier et de le recreer sous cvi  (Build/distributions etc...) (Dans ce cas attention tout de meme à memoriser les params de l'install)

Peut-etre aussi Build/distrib/manage + creer une nouvelle install (ca devrait creer un nouveau cds avec un nouveau GUID)

 

Cordialement,

Nicolas

0 Kudos
Message 7 of 15
(5,780 Views)

Bonjour,

Désolé de sauter à un autre sujet aussi brutalement, mais nous avons une urgence sur une évlution logicielle, je reprendrai les essais sur la distribution juste après grâce à vos informations sur le GUID.

Dans un logiciel développé avec LabWindows/CVI 8.5.1 et qui tourne sur un PC XP SP2C avec 3Go de RAM, nous avons besoin de faire une allocation mémoire importante : 530Mo.

La fonction "calloc" sort en erreur (pointeur à NULL), malgré le fait que le système Windows dispose encore de 1,6 Go de mémoire libre, information récoltée avec GetMemoryInfo ().

Nous avons réduit la valeur pour faire l'essai, et la moitié passe sans erreur (~ 260 Mo).

Y-a-t-il une limite à la taille mémoire que l'on peut allouer en une fois par la commande "calloc", malgré une mémoire physique disponible supérieure ?

Merci de nous donner votre expertise sur cette question surprise.

Sincères salutations,

Franck Dubreuil

 

0 Kudos
Message 8 of 15
(5,763 Views)

Bonjour,

 

Avez vous essayé d'utiliser malloc à la place de calloc pour tester si le comportement était le même ?

 

Je vais contacter les États-Unis tout de suite pour avoir cette information.

 

Bonne fin de journée.

 

Cordialement,

0 Kudos
Message 9 of 15
(5,759 Views)

1) Sur une machine identique je reussi à allouer 1 200 000 000 octets avec un seul calloc .

La memoire se fragmente aussi et la seule chose que l'on peut dire c'est que le bloc le + grand que l'on peut allouer est inferieur à la memeoire libre

2) si les donnees à allouer sont multidimensionnelles des boucles de calloc de taille inferieure alloueront au total plus de memoire. Sur la meme machine, j'alloue 1.6 Go par blocs de 100 Meg ou 1.8 Go par blocs de 20 megs

3) On est sur un forum anglophone + changement de topic => on devrait peut etre un peu se calmer

 

Best regards,

Nicolas

0 Kudos
Message 10 of 15
(5,752 Views)