I did not wanted to stop any enthusiasm and also don't what is the right or the wrong way. I've also already raised the NuGet idea here once and did not wanted to nag.
First Thanks for offbyone many items of your list of limitiatons, I probably would have missed.
Even if in general it might be possible, WiX seems to be a bit overload to to me. It's not the fastest way of installing files, because it tracks files very detailed.
There will be references deep inside the system to every extension that you have ever installed once, even if these refs are not critical and don't actually matter. If Windows Installer removes exactly the files that are installed, every file needs to have it's own component, unique GUID and explicitly defined in the wix script, iirc. Doing this manually is a no go for skinners. Harvesting the source directories by Heat brings in another component, which the extension author has to know about.
Because MP2 was mentioned and feedback requested: In MP2 most extensions will be installed by simple copy commands. There should not be an installation UI required for, I assume 80% of all plugins, otherwise the plugins are not following the MP2 Best Practices, to
I have no idea anymore what additional tasks are required for MP1 Addons these days. Some of them might be even required for MP2 i.e. installing a service like MPExtended, but such "extensions" are so complex that these should not be deployed by "MP extension packages" only and instead kept in their MSI installer, which then maybe wrapped by a "MP extension package".
Maybe the wix-approach can work, but it's worth imo also to take a look at the NuGet approach, especially because there are so much components already build, which fit exactly or basically our needs:
I also explained some of these things and provided links in the conversation I started with you and Dadeo within May (got no reply) and a few days ago within the MP2 forums. See the link that has been posted by tourettes.
Maybe ti's worth to create some proof of concepts. take 2 or 3 plugin/skin examples from MP1 and MP2 and create these via WiX. Same could be done for the NuGet thing.
I seriously believe at this point it is not worth asking plugin devs and skinners what is the definite right way to go, as the majority doesn't know what it means and how which things, tasks and steps are required in the end to create an extension package when working regularly with it.
First Thanks for offbyone many items of your list of limitiatons, I probably would have missed.
Even if in general it might be possible, WiX seems to be a bit overload to to me. It's not the fastest way of installing files, because it tracks files very detailed.
There will be references deep inside the system to every extension that you have ever installed once, even if these refs are not critical and don't actually matter. If Windows Installer removes exactly the files that are installed, every file needs to have it's own component, unique GUID and explicitly defined in the wix script, iirc. Doing this manually is a no go for skinners. Harvesting the source directories by Heat brings in another component, which the extension author has to know about.
Because MP2 was mentioned and feedback requested: In MP2 most extensions will be installed by simple copy commands. There should not be an installation UI required for, I assume 80% of all plugins, otherwise the plugins are not following the MP2 Best Practices, to
- provide usable defaults and prevent the requirement of any configuration before using a feature / plugin
- if some setup is required ask on first usage
- plugin files have to in one plugin folder, including default skin files and all external binaries and references
- Skins are "plugins", so all files for this skin are within this plugin folder not
I have no idea anymore what additional tasks are required for MP1 Addons these days. Some of them might be even required for MP2 i.e. installing a service like MPExtended, but such "extensions" are so complex that these should not be deployed by "MP extension packages" only and instead kept in their MSI installer, which then maybe wrapped by a "MP extension package".
Maybe the wix-approach can work, but it's worth imo also to take a look at the NuGet approach, especially because there are so much components already build, which fit exactly or basically our needs:
- NuSpec > defining package structure
- NuGet.Core > versioning algorithm, dependency management, package metadata, ...
- NuGet.exe > commandline tool for installing, uninstalling, updating, reinstalling, ....
- NuGet.Server > WebComponent for hosting packages and providing a feed that can be reused by "clients" (external installer, GUI plugin, Gallery, ....)
- NuGetGallery (OrchardGallery) > (ASP.net based?) WebSite component presenting available packages nicely in your browser
- NuGetPackageExplorer > Utility for building and uploading packages
I also explained some of these things and provided links in the conversation I started with you and Dadeo within May (got no reply) and a few days ago within the MP2 forums. See the link that has been posted by tourettes.
Maybe ti's worth to create some proof of concepts. take 2 or 3 plugin/skin examples from MP1 and MP2 and create these via WiX. Same could be done for the NuGet thing.
I seriously believe at this point it is not worth asking plugin devs and skinners what is the definite right way to go, as the majority doesn't know what it means and how which things, tasks and steps are required in the end to create an extension package when working regularly with it.
Last edited: