J'ai développé Windows Mobile 6 Professional Application à l'aide de Cadre ciblé en tant que .NET CF 3.5 et professionnel 6 SDK. A également créé son fichier SmartDevicecAB. Lorsque je l'installe sur le périphérique ne disposant pas de CF 3.5, il ne parvient pas à exécuter mon application (car le périphérique a .NET CF 2.0). Maintenant, je sais que je dois avoir Net CF 3.5 sur l'appareil où je veux exécuter mon application. Comment puis-je détecter la version actuelle de CF et installer (si nécessaire) CF 3.5 de ma configuration de la cabine. J'ai exploré et je suis passé beaucoup sur setup.dll mais c'est trop vieux chemin et je n'ai pas trouvé moyen d'exécuter un fichier de cabine de mon setup.dll. Aidez-moi s'il vous plaît à trouver la solution. Serait reconnaissant si le code de lien / exemple fourni est fourni. Plus frustrant est, je n'ai jamais touché VC ++. P>
J'ai traversé:
Détection Si le Compact Cadrewok est installé sur un appareil mobile A> et ses liens. P>
shailesh k. p>
8 Réponses :
Dans WM 6, je crois (cela aurait pu être WM 5), ils ont refusé d'exécuter une cabine d'une autre cabine. La seule façon de faire tout cela en une fois est via un MSI du bureau. Il existe des échantillons de MSDN sur la façon de commencer. P>
Ce que je fais dans mon application est détecter la version .NET CF dans ma cabine. S'ils n'ont pas le bon, je échoue à l'installation et dit à l'utilisateur d'installer depuis le bureau. Ce n'est pas la plus grande solution, mais MS ne nous donne pas vraiment un choix. P>
Salut AgeekTrapped, merci pour la réponse. Vous avez dit que vous détectez la version .NET CF de votre taxi. Pouvez-vous fournir la manière (code) que vous détectez la version .NET CF et que vous vérifiez que c'est juste un ou non? Merci. Shailech K :)
J'ai modifié le code fourni dans cet exemple MSDN.MicRosoft.com/fr- US / Bibliothèque / AA446531.ASPX # NETCFDEPL_TOP IC3
Ce n'est pas vraiment une réponse à votre question, mais dans une situation comme celle-ci, je voudrais simplement déployer deux taxis: mon application et la CF .NET CF 3.5 CAB. Ce n'est pas si difficile de dire à un client / client d'installer votre application et s'il ne fonctionne pas pour installer la cabine .NET. P>
Merci pour des réponses. C'est vraiment décevant que MS n'a pas de solution simple pour cela. J'irais avec MusicGenesis pour l'instant. Je peux donner à l'utilisateur deux cabines (1) myapp.cab (2) netcfv35.wm.armv4i.cab. Mais je voulais savoir que "netcfv35.wm.armv4i.cab" fonctionnera pour tous les appareils. J'ai entendu parler de différents appareils avec différents ensembles d'instructions telles que la MISP, le bras, etc. Netcfv35.wm.armv4i.cab travail pour tous les professionnels Windows Mobile 6 (et 6.1, 6,5) ou ce que je dois faire pour prendre soin d'autres périphériques? p>
shailesh k p>
Non, ARMV4 ne fonctionnera sur aucune plate-forme, bien qu'il s'agisse de la CPU la plus courante de nos jours. Vos clients doivent saisir le package .msi ici: Microsoft.com/downloads/.../a>
Avez-vous utilisé des API spécifiques à la version 3.5 qui vous empêcherait de cibler le cadre .NET 2.0? Sinon (ou si c'est très peu), je considérerais simplement cibler 2.0. P>
Vous pouvez être surpris à quel point il est facile de modifier la version du cadre que vous ciblez (malheureusement, vous ne pouvez pas simplement accéder aux propriétés de votre noeud de votre projet dans l'explorateur de solutions comme vous pouvez utiliser d'autres types de projets dans Visual Studio. ). Je suggérerais de créer un nouveau projet ciblant le cadre 2.0 et de déposer tout votre code source dans, compiler et voir combien d'erreurs vous avez. L'espoir est qu'en environ 5-10 minutes, vous avez terminé avec une application compilée et exécutée, sans plus de problèmes de dépendance .NET. P>
Dans la planification d'une application mobile que j'espère écrire, j'ai choisi de coller avec .NET 2.0 car tant de périphériques ne sont pas expédiés avec 3,5 par défaut. P>
Bonjour Mkmurray, merci pour votre réponse. Oui, je l'ai déjà essayé et cela travaillait pour moi. Mais ce n'est pas la solution (permanente), je pense. À l'avenir, si je dois développer une application basée sur CF 3.5, alors encore une fois, je serai coincé à ce stade. Je cherche donc une solution permanente qui m'aidera dans le futur déploiement de WM. Shailech K.
Maintenant que le marché de Windows est là, nous n'avons donc pas besoin de prendre soin des versions requises .NET CF. Le marché de Windows fera le nécessaire. :) p>
WMP devient assez lent lorsque Les utilisateurs i> sont dessus en même temps. Aubépine. : P
très simple. Il possède un peu de code C ++, mais vous n'avez pas à le changer du tout. Il s'agit simplement d'une question de création d'un deuxième projet de cabine de périphérique intelligent contenant le fichier .NET CAB que vous souhaitez installer (3.5 dans votre cas) et d'échanger la DLL d'installation pour celle créée à partir du projet C ++ inclus dans l'échantillon. Vous devez simplement ajouter des valeurs de registre décrivant où les fichiers de cabine que vous souhaitez installer sont et que vous êtes doré. Vous n'avez pas besoin de détecter la version de .NET qu'ils ont installées, jetez-la là-bas et il s'installera sur une installation existante. Il y a un livre blanc complet qui l'explique dans l'échantillon, ainsi que le code source. Il suffit de télécharger le SDK Windows Mobile 6 et accédez à ce répertoire sur votre ordinateur après l'avoir installée. Ouvrez le document intitulé "Multicab Whiteaper.doc" et suivez les instructions. P>
C: \ Fichiers de programme \ Windows MOBILE 6 SDK \ SAMPLES \ COMMON \ CPP \ WIN32 \ MULTICABINSTALL P>
J'ai utilisé ceci pour mon propre projet et cela fonctionne si bien! P>
Pour cela, j'ai utilisé SNS. Cela fait quelques mois depuis que j'ai écrit le script d'installation, certains détails devraient être flous. P>
D'abord, j'installe .NET CF 3.5. J'utilise le fichier netcfsetupv35.msi qui installera automatiquement le fichier .NET CF 3.5 sur le périphérique mobile s'il n'existe pas déjà. Si .NET CF 3.5 existe déjà, il montre une boîte de dialogue indiquant qu'il existe déjà (pour nous, c'était acceptable). Vous pouvez trouver / écrire une application qui définirait une valeur de retour pouvant être lu par Execwait ( http: //nsis.sourceforge.net/docs/chapter4.html ), puis appelez uniquement le MSI si .NET CF n'est pas installé. P>
Puis j'ai 8 cabines à installer, 3 pour SQL Server Compact 3.5 (obligatoire) et 4 pour un logiciel que nous dépendons de (facultatif, en fonction du client) et 1 pour notre application. J'ai suivi ce tutoriel: http://nsis.sourceforge.net/nsis_for_smartphone . A écrit une section pour chacun, si vous voulez réadonner, puis ajoutez la section 1 RO après la section. Puis appelez CAEPPMGR Passant comme argument de chaque cabine. P>
Nous avons utilisé AiMsetup pour cela car il vous permet de vous installer une chaîne et de fonctionner très bien et rapide. P>
http://windowsmobiledn.com/utudi- SPB-AiMsetup-to-Create-Pocket-PC-Installateurs / P>