none
Problème déploiement réseau d'une application VB.Net RRS feed

  • Question

  • Bonjour tout le monde,

    Je fais mes premiers pas en tant qu'étudiant sur votre forum (ou communauté) parce que je nécessite une aide considérable.

    J'ai réalisé une application VB.Net sous Visual Studio 2008 Pro (Framework v3.5) qui effectue des interactions avec une base de données hébergée sur un serveur Microsoft SQL Server 2005. Mon problème est le suivant :

    Comment déployer mon application sur un emplacement réseau ?

    Je m'explique... Je dois "centraliser" mon application sur un serveur de fichiers et donc l'application ne peut pas être exécutée localement.

    - Lorsque j'exécute localement tout se passe bien... encore heureux!

    - Lorsque je place l'application sur ce fameux serveur, une exception de type : SQLClientPermission est lancée au moment où j'essaye de faire mondataTableAdapter.Fill(monDataTable) (dans le code).



    Merci pour vos réponses précises et bien à vous,

    Martin


    vendredi 22 février 2008 10:54

Réponses

  • Bonjour,

    Voila le lien vers un blog expliquant le problème et donnant des solutions :

     

    http://weblogs.sqlteam.com/jhermiz/archive/2007/08/14/60284.aspx

     

    Le blog est en anglais, j'espère que cela ne vous posera pas de problème. Sinon pour résumer, la solution propre décrite à la fin est de signer votre application.

     

    Guillaume

    vendredi 22 février 2008 11:09
  • Bonjour,

    Effectivement je crois que les outils .net on été supprimés de l'installation standard de vista. Ils sont par contre installé avec le SDK je crois.

    Sinon vous devrez utilisez l'utiliare en ligne de commande caspol.exe :

     

    http://msdn2.microsoft.com/en-us/library/cb6t8dtz.aspx

     

    Concernant ClickOnce le principe est le suivant :

    • Vous publier votre application sur un serveur. Visual Studio peut le faire, regardez les propriétés de votre projet, il doit y avoir un onlget Publier.
    • Une fois publier, les utilisateurs se connecte via IE à la page html généré lors de la publication. Ils ont un bouton installer. Cette installation va "copier" en local l'application et créer une entrée dans le menu démarrer.

    A chaque fois que l'utilisateur lancera l'application via le menu démarrer, il y aura une vérification de faite pour voir si le serveur contient une version plus à jour (que vous aurez publié via Visual Studio). Si c'est le cas l'utilisateur pourra (ou devra en fonction du paramétrage) mettre à jour l'appli.

     

    Guillaume

    lundi 25 février 2008 10:47

Toutes les réponses

  • Bonjour,

    Voila le lien vers un blog expliquant le problème et donnant des solutions :

     

    http://weblogs.sqlteam.com/jhermiz/archive/2007/08/14/60284.aspx

     

    Le blog est en anglais, j'espère que cela ne vous posera pas de problème. Sinon pour résumer, la solution propre décrite à la fin est de signer votre application.

     

    Guillaume

    vendredi 22 février 2008 11:09
  • Merci, je vais de ce pas aller lire les solutions proposées.

    Je vous reviens dès que j'ai trouvé la solution ou si finalement j'ai encore besoin de la communauté.
    vendredi 22 février 2008 12:32
  • Voilà je viens encore de passer deux heures sur le sujet, et malheureusement ça ne fonctionne toujours pas comme il se doit.

    Même avec une bête application, ça ne fonctionne pas. Avez-vous une explication ou un exemple précis ?

    Merci




    vendredi 22 février 2008 14:07
  • Bonjour,

    En relisant le blog que je vous ait fourni je me suis rendu compte qu'il manque un élément. En effet après avoir signé votre application, il faut lui modifier ses droits, et uniquement ses droits et non les droits de la zone, sur la machine cliente pour lui donner Full Trust.

     

    Voila un extrait d'un article de MS sur comment donner les droits (http://support.microsoft.com/kb/832742/en-us) :

     

    Assign Full Trust permission

    1. Do the following, depending on your operating system:
    On Windows XP, click Start, and then click Control Panel.
    On Windows 2000, click Start, point to Settings, and then click Control Panel.
    2. Do the following, depending on the version of the .NET Framework that you are using:
    If you are using the .NET Framework 1.1, double-click Administrative Tools, and then double-click Microsoft .NET Framework 1.1 Wizards.
    If you are using the .NET Framework 1.0, double-click Administrative Tools, and then double-click Microsoft .NET Framework Wizards.
    The .NET Wizards window appears.
    3. In the .NET Wizards window, click Trust an Assembly. The Trust an Assembly dialog box appears.
    4. Click to select the Make changes to this computer option, and then click Next.
    5. Click Browse. The Choose Assembly dialog box appears.
    6. In the Choose Assembly dialog box, locate the executable file on the mapped network drive, and then click Open.
    7. In the Trust an Assembly dialog box, click Next.
    8. In the Trust an Assembly dialog box, move the slider to Full Trust, and then click Next.
    9. Click Finish.
    10. To run the executable file from the mapped network drive, double-click the file in Windows Explorer.

     

    Sinon, si la cause pour laquelle vous voulez mettre votre application sur un partage réseau est le déploiement et la mise à jour simple, je vous recommande de regarder la technologie ClickOnce qui permet de simplifier ces problèmes de déploiement et de sécurité :

     

    http://msdn2.microsoft.com/en-us/library/t71a733d(VS.80).aspx

     

    Guillaume

    lundi 25 février 2008 06:39
  •  Guillaume ROUCHON A écrit:

    Bonjour,

    En relisant le blog que je vous ait fourni je me suis rendu compte qu'il manque un élément. En effet après avoir signé votre application, il faut lui modifier ses droits, et uniquement ses droits et non les droits de la zone, sur la machine cliente pour lui donner Full Trust.

     

    Voila un extrait d'un article de MS sur comment donner les droits (http://support.microsoft.com/kb/832742/en-us) :

     

    Assign Full Trust permission

    1. Do the following, depending on your operating system:
    On Windows XP, click Start, and then click Control Panel.
    On Windows 2000, click Start, point to Settings, and then click Control Panel.
    2. Do the following, depending on the version of the .NET Framework that you are using:
    If you are using the .NET Framework 1.1, double-click Administrative Tools, and then double-click Microsoft .NET Framework 1.1 Wizards.
    If you are using the .NET Framework 1.0, double-click Administrative Tools, and then double-click Microsoft .NET Framework Wizards.
    The .NET Wizards window appears.
    3. In the .NET Wizards window, click Trust an Assembly. The Trust an Assembly dialog box appears.
    4. Click to select the Make changes to this computer option, and then click Next.
    5. Click Browse. The Choose Assembly dialog box appears.
    6. In the Choose Assembly dialog box, locate the executable file on the mapped network drive, and then click Open.
    7. In the Trust an Assembly dialog box, click Next.
    8. In the Trust an Assembly dialog box, move the slider to Full Trust, and then click Next.
    9. Click Finish.
    10. To run the executable file from the mapped network drive, double-click the file in Windows Explorer.

     

    Sinon, si la cause pour laquelle vous voulez mettre votre application sur un partage réseau est le déploiement et la mise à jour simple, je vous recommande de regarder la technologie ClickOnce qui permet de simplifier ces problèmes de déploiement et de sécurité :

     

    http://msdn2.microsoft.com/en-us/library/t71a733d(VS.80).aspx

     

    Guillaume



    Bonjour,

    Merci pour ton développement, mais sache que certaines machines n'ont pas ce "wizard". Même si une machine Vista avec Visual Studio Pro 2008 et Framework 3.5, on ne le retrouve point!

    Maintenant pour le fameux ClickOnce :

    Je suppose que tu insinues la publication de l'application, c'est exact ?

    BaT,

    Martin
    lundi 25 février 2008 10:04
  • Bonjour,

    Effectivement je crois que les outils .net on été supprimés de l'installation standard de vista. Ils sont par contre installé avec le SDK je crois.

    Sinon vous devrez utilisez l'utiliare en ligne de commande caspol.exe :

     

    http://msdn2.microsoft.com/en-us/library/cb6t8dtz.aspx

     

    Concernant ClickOnce le principe est le suivant :

    • Vous publier votre application sur un serveur. Visual Studio peut le faire, regardez les propriétés de votre projet, il doit y avoir un onlget Publier.
    • Une fois publier, les utilisateurs se connecte via IE à la page html généré lors de la publication. Ils ont un bouton installer. Cette installation va "copier" en local l'application et créer une entrée dans le menu démarrer.

    A chaque fois que l'utilisateur lancera l'application via le menu démarrer, il y aura une vérification de faite pour voir si le serveur contient une version plus à jour (que vous aurez publié via Visual Studio). Si c'est le cas l'utilisateur pourra (ou devra en fonction du paramétrage) mettre à jour l'appli.

     

    Guillaume

    lundi 25 février 2008 10:47
  • Encore merci pour vos lumières.

    Je me suis finalement dirigé vers la publication avec ClickOnce... Cela fonctionne parfaitement bien sous Vista et VS2008.
    mercredi 5 mars 2008 15:40