Create VSIX private gallery ATOM feed
Download from releases
This project creates a private extension gallery that can be consumed by Visual Studio to side-load extensions that are not on the official marketplace.
You may want to use this to provide a marketplace of private extensions for testing purposes or for extensions that are for internal use only.
This project is a simple .exe file that will generate a valid ATOM file from a directory of .vsix files.
Getting started
Place all the VSIX files you want to include in the private gallery in the same folder. Then download and add the PrivateGalleryCreator.exe file and place in the same folder. It should look similar to this:
Now double-click the PrivateGalleryCreator.exe to generate the ATOM feed. It will parse the .vsix files for the information needed and extract the icon files. Your folder should now look like this:
You may not see the Icons folder if you don't have any icons registered in the VSIX files or if Windows Explorer doesn't show hidden files and folders. So, don't worry if you don't see it. The ATOM feed will still work.
You can now add the gallery to Visual Studio to have the extensions automatically show up.
The URL should be the absolute path to the feed.xml file. The path can be a network share (e.g. \\mycompany\extensions\feed.xml).
Going to Tools -> Extensions and Updates... will now show the private gallery under the Online tab:
Watch option
You can make the app watch for changes to any .vsix files in the directory and automatically generate a new feed.xml file. To do that, call the exe with the --watch
(-w
) parameter like so:
PrivateGalleryCreator.exe -w
The console app will not shut down but continously watch the directory for any new, updated or deleted .vsix files. To stop watching, either close the console or hit Ctrl+C to cancel out.
Name option
If you would like a custom gallery name (instead of "VSIX Gallery") you can use the --name option:
PrivateGalleryCreator.exe --name="My gallery name"
Output option
If you would like to have the output redirected (instead of the current directory) you can use the --output option:
PrivateGalleryCreator.exe --output=c:\your\path\yourfeed.xml
Input option
If you would like to have the input directory set custom (instead of the current directory) you can use the --input option:
PrivateGalleryCreator.exe --input=c:\your\input\path
Recursive option
If you would like to have the all directories parsed for packages (instead of the current directory) you can use the --recursive option:
PrivateGalleryCreator.exe --recursive
Exclude option
If you would like to have the particular folders, filenames skipped (instead of the using all packages found) you can use the --exclude option:
PrivateGalleryCreator.exe --exclude=dontwantthis
Source option
By default, the download source path used in the gallery will be the location where the .vsix files reside when running the PrivateGalleryCreator. If you intend to move the .vsix files after creating the feed, you can specify the intended download source path with the --source option:
PrivateGalleryCreator.exe --source=c:\your\vsix\repository\
Terminate option
If you would like the application to exit immediately after processing VSIX files, use the --terminate option:
PrivateGalleryCreator.exe --terminate
Latest only option
By default, any duplicate packages that are found will be processed, resulting in multiple versions of the same package in the feed. If you have a folder structure that retains previous versions of the packages, use the --latest-only option:
PrivateGalleryCreator.exe --latest-only
Good to know
- Run the PrivateGalleryCreator.exe every time you add or update a .vsix in the directory
- Visual Studio will by default auto-update extensions - including the ones from private galleries.
- The feed support extensions for Visual Studio 2010 and newer
- Use an extension to create the private gallery. See example extension here.