IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Avis de securite Runtime ACCESS sous Office 365


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut Avis de securite Runtime ACCESS sous Office 365
    Bonjour,
    Il y avait bien longtemps ...

    Suite à un renouvellement de nos systèmes informatiques, je re-déploie les applications que j'avais créé en 2000 avec office XP développeur.

    J'ai remis à jour les Frontales et la Dorsale (sur NAS) avec office 365.

    Maintenant je découvre les joies et cauchemars des messages de sécurités et les emplacements approuvés non définissables via les Runtime.

    Je lis la plupart des articles sur le sujet. J'ai même trouvé quelques tutos d'Argy pour automatiser les écritures de répertoires approuvés lors du déploiement via runtime, mais :

    - Je ne pense pas passer par un déploiement par empactage/ runtime puisque je n'ai que 4 postes (avec des appli frontales différentes). Et çà semble tellement simple de télécharger le Runtime via la machine elle-même...
    - Je suis maintenant en office 365 et imagine utiliser les runtime 2016
    - Tout ce que j'ai lu ici ou sont sur des versions antérieures à Office 365, et rentrer du code sans trop savoir en tant que piètre développeur (ce n'est pas mon métier, mais dans une TPE ...)

    Pouvez-vous m'aider à aller écrire dans le registre les clés qui vont bien pour éviter ces messages d'erreur à l'ouverture des applis ?

    Franck

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Un code et une fonction que j'utilisais sans problème il y a qq années, mais non revérifiée récemment.

    Remarques sur la ligne "HKEY_CURRENT_USER...
    - vérifie et adapte la valeur actuelle 14.0 qui correspond à la version.
    - je choisissais 99 en Location pour éviter les 1ers numéros déjà utilisés et s'en éloigner pour ne pas avoir d'écrasement. En effet, la création d'une clé avec un numéro déjà attribué ne génère aucun message, mais la précédente est écrasée.

    NomAchoisir : nom personnalisé pour repérer la clé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Public Sub ApprouveEmplacement()
    On Error GoTo err:
        Const KEY As String = "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location99\"
        Dim Emplacement As String
        Emplacement = ExtractFolder(CurrentDb.Name) & "\"
     
        WriteIntoReg KEY, "AllowSubFolders", 1, "REG_DWORD"  '0 = n'approuve pas les sous-dossiers  1 = approuve
        WriteIntoReg KEY, "Date", Now, "REG_SZ"
        WriteIntoReg KEY, "Description", "NomAchoisir", "REG_SZ"
        WriteIntoReg KEY, "Path", Emplacement, "REG_SZ"
     
        MsgBox "Emplacement approuvé"
        Exit Sub
    err:
        MsgBox "Emplacement non approuvé"
    End Sub
     
    Private Function WriteIntoReg(ByVal KEY As String, ByVal Value As String, ByVal Data, ByVal DataType As String) As Boolean
    Dim WshShell As Object
        On Error GoTo WriteIntoReg_Error
        Set WshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite KEY & Value, Data, DataType
        WriteIntoReg = True
        On Error GoTo 0
    WriteIntoReg_Exit:
        Set WshShell = Nothing
        Exit Function
    WriteIntoReg_Error:
        WriteIntoReg = False
        Resume WriteIntoReg_Exit
    End Function
    Titi95

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    Merci pour ton aide et ta réponse Titi,

    Avant de faire une ânerie, j'aimerais avoir quelques précisions et confirmations.
    - Dans le registre, sous Office 365 je vois deux répertoires : 15.0 et 16.0
    Je teste tout d'abord avec 15.0 , et si j'ai toujours l'avis de sécurité, je refais la même chose avec 16.0 ?

    - Comment intégrer ce code ?
    1/ Je crée une petite appli Access avec un formulaire à un bouton
    2/ je copie et colle ton code sous ce bouton
    3/ Je modifie le code :
    - avec 15.0 (ou 16.0) à la place de 14.0
    - Je remplace le "NomAchoisir" par "leCodeATitiquivafairequelEmplacementSeraApprouve"
    - Rien d'autre ?
    4/ Je colle la petite appli sur le poste ou je vais déployer ma Frontale et réalise la manip
    5/ Je teste mon appli 'Frontale' standard
    6/ Je détruis la petite appli Access d'intégration du code d'approbation de l'emplacement.

    Est-ce ainsi que je dois procéder ?

    Franck

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    1) tu copies le code (Sub + fonction) dans un module

    2) modifications du Sub
    Il faut d'abord bien vérifier que le chemin que j'avais mis à l'époque est bon. En même temps, regarder pour info si des clés Locations sont déjà en place. (avec Regedit)
    14.0 correspond à la version 2010, 15.0 à 2013 et 16.0 à 2013
    Remplace le "NomAchoisir" par un nom "parlant". Celui que tu proposes étant très long, sera-t-il accepté ? >>> fait plus court pour être tranquille

    En principe il ne faut rien modifier d'autre que ces 3 points. (Aucune intervention dans la fonction ! )

    3) exécution de Sub : tout simplement à partir de vba, où si plus pratique en fonction de l'environnement, avec un bouton sur un formulaire avec Call ApprouveEmplacement.

    4) vérifie ensuite la création de la clé (avec Regedit)

    Nota : Emplacement sera celui de la base à partir de laquelle le Sub est exécuté (voir Sub)

    Attention quand Regedit est ouvert à ne rien modifier !

    Titi95

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    Merci Titi,

    Bon alors, j'ai copié tout le code que j'ai collé dans un module d'une nouvelle BDD

    J'ai mis : "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location99\"

    et mis un nom un peu plus simple et parlant
    Exécution sur click d'un bouton avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Validation_Click()
    Call ApprouveEmplacement
    End Sub
    J'ai positionné cette mini BDD au même emplacement que ma base frontale, sur le poste où j'installe la première application

    Lors de l'appel de la fonction, j'ai une boite de dialogue Microsoft Access qui s'ouvre :
    'Cette application a été arrêtée à cause d'une erreur d'exécution'
    Elle ne peut pas continuer et va être fermée

    Est-ce le fait de ne pas avoir de répertoire 'Location99' qui pourrait poser problème ?

    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Public Sub ApprouveEmplacement()
    On Error GoTo err:
        Const KEY As String = "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location99\"
        Dim Emplacement As String
        Emplacement = ExtractFolder(CurrentDb.Name) & "\"
     
        WriteIntoReg KEY, "AllowSubFolders", 1, "REG_DWORD"  '0 = n'approuve pas les sous-dossiers  1 = approuve
        WriteIntoReg KEY, "Date", Now, "REG_SZ"
        WriteIntoReg KEY, "Description", "DefinirEmplactApprouve", "REG_SZ"
        WriteIntoReg KEY, "Path", Emplacement, "REG_SZ"
     
        MsgBox "Emplacement approuvé"
        Exit Sub
    err:
        MsgBox "Emplacement non approuvé"
    End Sub
     
    Private Function WriteIntoReg(ByVal KEY As String, ByVal Value As String, ByVal Data, ByVal DataType As String) As Boolean
    Dim WshShell As Object
        On Error GoTo WriteIntoReg_Error
        Set WshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite KEY & Value, Data, DataType
        WriteIntoReg = True
        On Error GoTo 0
    WriteIntoReg_Exit:
        Set WshShell = Nothing
        Exit Function
    WriteIntoReg_Error:
        WriteIntoReg = False
        Resume WriteIntoReg_Exit
    End Function
    Merci pour ton aide

  6. #6
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Est-ce le fait de ne pas avoir de répertoire 'Location99' qui pourrait poser problème ?
    Non, puisque c'est le nom de la nouvelle clé

    J'avais oublié de te donner le code de recherche du dossier parent pour valoriser Emplacement.
    A ajouter dans ton module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    'CHERCHER DOSSIER PARENT DANS UN CHEMIN COMPLET
     
    Public Function ExtractFolder(ByVal sFullPath As String) As String
        If Right(sFullPath, 1) = "\" Then
            ExtractFolder = Left(sFullPath, Len(sFullPath) - 1)
        Else
            ExtractFolder = Left(sFullPath, InStrRevRS(sFullPath, "\") - 1)
        End If
    End Function
     
    Public Function InStrRevRS(RechercherDans As String, Rechercher As String) As Long
        Dim lngFind As Long
        lngFind = InStr(1, RechercherDans, Rechercher)
        Do While lngFind > 0
            InStrRevRS = lngFind
            lngFind = InStr(lngFind + 1, RechercherDans, Rechercher)
        Loop
    End Function
    Tu peux te servir de ExtractFolder dans un autre contexte pour extraire le nom du dossier.

    Rappel : regarde le contenu de Trusted Locations avant de lancer la création de la nouvelle clé (des clés existantes ?) et après pour vérifier
    Referme bien Regedit à chaque fois.

    Info : Pour la création de clé, de mémoire, je pense que j'avais utilisé un code d'argyronet qui intervient sur le forum Access...

    Titi95

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    Les postes sur lesquels j'installe les applicatifs sont neufs. Je ne vois rien rien sous les Trusted_location : (valeur non définie)
    (Quoi que.... Il y a un poste où un Runtime fonctionne avec l'ancienne appli que je vais écraser)

    J'avais lu ce qu'avait écrit Arguy, mais cela me semble tellement complexe... Je préférais ouvrir ce post et me faire guider

    Je teste tout cà jeudi

  8. #8
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 898
    Points : 4 787
    Points
    4 787
    Par défaut
    Bonjour à tous,

    Pour seulement 4 pc , je prendrai plutôt le parti de cliquer sur un .REG

    ci-dessous :
    Path est le chemin de la base ACCESS à autoriser (qui est dans ce cas dans le dossier DOCUMENTS de l'utilisateur USER5)
    donc je mets les lignes suivantes dans un fichier texte que je nomme toto.REG
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location3]
    "Path"="C:\\Users\\USER5\\Documents\\Programme Micniv\\"
    "Description"="Emplacement d'Access*: bases de données Prospects"
    [HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location3]
    "Path"="C:\\Users\\USER5\\Documents\\Programme Micniv\\"
    "Description"="Emplacement d'Access*: bases de données Prospects"
    je sauvegarde et je double clique

    CDLT

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    Bonjour

    Eh bien voilà, le problème semble résolu !

    En insérant la seconde partie du code (bon, je n'y comprends pas tout ) l'emplacement est bien devenu approuvé et les applicatifs Access s'ouvrent et fonctionne sans message d'alerte

    Location99 apparait bien en 'Trusted_Location (location2 y était déjà)

    2 postes déployés
    (un W10 avec 15.0, et un W7 prof avec 16.0 Bon ok, j'imagine que c'est lié à la version du Runtime; doit y avoir un loup )
    Le reste devrait suivre sans soucis

    @micniv
    Merci pour ta proposition qui me semble bien plus simple et aurait sans doute même permis d'inscrire dans les deux parties de registre (15.0 et 16.0). Mais j'avais commencé la solution de Titi ... Il m'en aurait voulu

    Un grand merci à tous deux !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/03/2018, 06h07
  2. [OL-2016] Renommer un dossier sous Office 365 (Web Version)
    Par dede_bo dans le forum Outlook
    Réponses: 3
    Dernier message: 06/02/2018, 15h36
  3. VBA sous Office 365
    Par LeNig dans le forum VBA Word
    Réponses: 2
    Dernier message: 10/01/2018, 15h58
  4. [AC-2010] Access et Office 365
    Par patito1975 dans le forum Access
    Réponses: 2
    Dernier message: 25/04/2016, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo