Les bibliothèques Windows 7 ne sont en fait que des fichiers XML avec des extensions de shell intelligentes qui les gèrent. Ils sont tous appelés [Library_Name] .library-ms (par exemple Pictures.library-ms) et peuvent être ouverts dans n'importe quel éditeur de texte tel que le bloc-notes par glisser-déposer.
Les fichiers peuvent ensuite être publiés en utilisant n'importe quel mécanisme normal - scripts, préférences de stratégie de groupe, etc.
Il y a quelques choses que j'ai découvertes, que vous devez savoir:
Le XML stocke des informations sur l'utilisateur qui utilise le fichier de bibliothèque
Windows met automatiquement à jour / écrase le XML lorsque vous double-cliquez dessus / le manipulez. Ceci est particulièrement problématique en tant qu'administrateur où un double-clic rendra votre fichier inutilisable pour les utilisateurs
Si vous rendez le fichier en lecture seule, cela aura pour effet de faire apparaître la bibliothèque en lecture seule, empêchant ainsi les utilisateurs d'enregistrer.
Après quelques essais et erreurs, j'ai développé des modèles «vides» en utilisant les bibliothèques par défaut que je publierai ci-dessous.
Vous pouvez utiliser le guide des dossiers connus suivant pour personnaliser les nouveaux emplacements par défaut:
http://msdn.microsoft.com/en-us/library/bb882665.aspx
Et j'ai trouvé les éléments suivants comme des références utiles concernant l'architecture de la bibliothèque:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd798389(v=vs.85).aspx
http://msdn.microsoft.com/en-us/magazine/dd861346.aspx
Essentiellement, cependant, la meilleure façon d'expérimenter était de simplement apporter des modifications à l'aide de l'interface graphique et d'examiner ce qui a changé.
Les documents
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
<name>@shell32.dll,-34575</name>
<version>20</version>
<isLibraryPinned>true</isLibraryPinned>
<iconReference>imageres.dll,-1002</iconReference>
<templateInfo>
<folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType>
</templateInfo>
<propertyStore>
<property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
</propertyStore>
<searchConnectorDescriptionList>
<searchConnectorDescription publisher="Microsoft" product="Windows">
<description>@shell32.dll,-34577</description>
<isDefaultSaveLocation>true</isDefaultSaveLocation>
<isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
<isSupported>true</isSupported>
<simpleLocation>
<url>knownfolder:{FDD39AD0-238F-46AF-ADB4-6C85480369C7}</url>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>
La musique
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
<name>@shell32.dll,-34584</name>
<version>12</version>
<isLibraryPinned>true</isLibraryPinned>
<iconReference>imageres.dll,-1004</iconReference>
<templateInfo>
<folderType>{94d6ddcc-4a68-4175-a374-bd584a510b78}</folderType>
</templateInfo>
<propertyStore>
<property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
</propertyStore>
<searchConnectorDescriptionList>
<searchConnectorDescription publisher="Microsoft" product="Windows">
<description>@shell32.dll,-34577</description>
<isDefaultSaveLocation>true</isDefaultSaveLocation>
<isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
<isSupported>true</isSupported>
<simpleLocation>
<url>knownfolder:{4BD8D571-6D19-48D3-BE97-422220080E43}</url>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>
Des photos
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
<name>@shell32.dll,-34595</name>
<ownerSID></ownerSID>
<version>6</version>
<isLibraryPinned>true</isLibraryPinned>
<iconReference>imageres.dll,-1003</iconReference>
<templateInfo>
<folderType>{b3690e58-e961-423b-b687-386ebfd83239}</folderType>
</templateInfo>
<propertyStore>
<property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
</propertyStore>
<searchConnectorDescriptionList>
<searchConnectorDescription publisher="Microsoft" product="Windows">
<description>@shell32.dll,-34577</description>
<isDefaultSaveLocation>true</isDefaultSaveLocation>
<isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
<isSupported>false</isSupported>
<simpleLocation>
<url>knownfolder:{33E28130-4E1E-4676-835A-98395C3BC3BB}</url>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>
Vidéos
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
<name>@shell32.dll,-34620</name>
<ownerSID></ownerSID>
<version>4</version>
<isLibraryPinned>true</isLibraryPinned>
<iconReference>imageres.dll,-1005</iconReference>
<templateInfo>
<folderType>{5fa96407-7e77-483c-ac93-691d05850de8}</folderType>
</templateInfo>
<propertyStore>
<property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
</propertyStore>
<searchConnectorDescriptionList>
<searchConnectorDescription publisher="Microsoft" product="Windows">
<description>@shell32.dll,-34577</description>
<isDefaultSaveLocation>true</isDefaultSaveLocation>
<isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
<isSupported>false</isSupported>
<simpleLocation>
<url>knownfolder:{18989B1D-99B5-455B-841C-AB7C74E4DDFC}</url>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>