Droplex is a library that allows applications to install additional tools, programs and services when needed rather than have them bundled and installed along with the main app during initial setup.
The goal is to give applications the ability to manage its own non-interactive installation of needed dependencies when dropped in to a vanilla windows environment with an internet connection, without the need to install and use package managers.
Droplex is available as a NuGet package. You can install it using the NuGet Package Console window:
PM> Install-Package Droplex
await DroplexPackage.Drop(App.python3_9_1).ConfigureAwait(false);
and you are done. Or,
Run in background but wait for it to finish:
Task pyInstall = DroplexPackage.Drop(App.python3_9_1);
...
pyInstall.Wait();
Or,
Run and forget:
_= DroplexPackage.Drop(App.python3_9_1);
You can specify zip packages such as Python Embeddable as a download and Droplex will get it ready for usage by your application. When doing so need to pass in the extract location:
await DroplexPackage.Drop(App.python_3_8_9_embeddable, @"C:\temp\python-embeddable").ConfigureAwait(false);
- Add your app in Droplex.Configuration.yml file
- Add it also in the App.cs list
- Test it with Droplex.Test.Console to make sure it installs non-interactively or silently
- Submit a PR