vpm
Author: | microdee |
Date: | 27 May, 2016 |
Category: | tool |
Credits: | LibGit2Sharp, PowerArgs, SharpCompress, Fody Weavers, Fody Costura |
Description
Documentation is at https://github.com/microdee/vpm
Now you can browse and install packs from the VPDB pack repository with ease!
Install / Use
- Download latest release from https://github.com/vvvvpm/vpm/releases
- Register a VVVV with its setup.exe (if it's not done already)
- Extract anywhere with 7-zip. Extracting with the windows/file explorer vanilla unzipper will put vpm in sandboxed mode and it can't load modules for scripts in sandboxed mode. 7-zip ignores this.
- Run it at least once so it can register vpm:// or vpms:// uri schemes (vpm links).
- Click a vpm link (vpm(s)://) or double click a .vpack file
- Happy Contributions:
- CSVvvv by rmueller
- CV Image Pack
- DirectX 11 Nodes by vux *
- DX11.Particles by tmp
- FBX4V by microdee
- FieldTrip by everyoneishappy
- ForwardPlus by kopffarben
- Instance Noodles by everyoneishappy
- md.ecosystem by microdee
- Messages 2.0 by velcrome
- Time by tmp *
- ZeroMQ by velcrome
- Update vvvv to latest alpha automatically
(* available through https://vvvvpm.github.io/ )
Troubleshooting
- VPM Cannot load/use Newtonsoft.Json.dll
- Your VPM got sandboxed by Windows, Extract VPM with 7Zip and Windows cannot sandbox it.
- Changelog (also manually copied here from github for your convenience):
1.3.0
- Omitted license agreement UI (individual licenses are no longer asked)
- Improved VVVV folder selection UI
1.2.8
- Added ThrowException function for scripts
- Made loading Nuget packages for scripts working
1.2.7
- Fixed not all assemblies were loaded shipping with vpm
- Allow drag and drop on folder selection
1.2.6
- Added a directory selector dialog
1.2.5
- Updated nuget packages and removed Fody Weavers I figured since the actual files are already put into a subfolder, I might as well just put all the DLL's there and not weave them into main exe. This also allows to use all referenced assemblies in the installation script
1.2.4
- Added a more stylish darker look with MahApps.Metro and loading spinners for UX shenanigans
- Added a "web UI" for vpdb
- got rid of old vpdb remnants
- added an example for license pages
1.2.3
- Vpm can now talk to the license pages through javascript
1.2.2
- Updated vpm.bat for usage in 'PATH' (by MrRoundRobin)
- Added license agreement screen Powered by a CefSharp control
1.1.3
- Add: from now on releases are published on https://github.com/vvvvpm/vpm/releases and changelog will continue there
- Fix: fixed wrong deleting path when overwriting existing dependency
1.1.2 (.1)
- Add: If the input .vpack's pack is already existing user is prompted to update/overwrite instead of quitting immediately
- Fix: File copying exceptions from the script (like access denied) are handled individually and let the remaining files copy and the rest of the script run. *Fix: In case of above mentioned exception comes from overwriting read-only or hidden files, vpm will remove those attributes before copying.
- Mod: Ditched directory printing, it was just bloating the console.
1.1
- Add: Now vpm also associate .vpack files during registration
- Add: Improved scripting: now scripts can use assemblies referenced by vpm this means pack developers can reference System and some basic namespaces of it with the using statement
- Mod: vpm doesn't require an exiting vvvv anymore. This means vpm can install vvvv and addonpack to its own folder or the folder specified in command line argument.
- On the point of previous entry vpm now also able to update vvvv to the latest alpha with a vpack file (Try updating here)
- Mod: it has colors now yaaay!
- Mod: the source tag is not mandatory now
Enjoy! microdee
Comments
Comments are no longer accepted.Please create a new topic in the vvvv beta forum to discuss this contribution.
Interesting but still very much alpha it seems. Would really need to have some version info for packs.
Seems you can have arbitrary c# code in a .vpack? Powerful but also seems a bit like handing over your keys to your house to the author from a security perspective but with curated package repo it might be ok.
If you use the latest_alpha packs to install vvvv it seems like it will just copy new files over an existing vvvv directory with no cleaning up of files not used by a newer version?
@beyon: good and valid points, responses: Versioning: I've tried to implement versioning at some point and I found it would introduce more brain-cancer than it would have supposed to solve. Especially in situations where inside the dependency tree 2 different versions of the same pack is referenced. For now if a pack requires an older version of an other pack it's simpler to script its custom fetching than having to keep in mind an xml infrastructure for that thing. Also I think "do you want to overwrite?" prompt is the easiest way currently for everyone.
Scripting: yes arbitrary C# code. So well as with any executable file on the internet download only from trusted sources. vvvv community is so small though that a malacious script wouldn't live long on the website or on github. On the other hand vpm is not elevated if the script would try to access sensitive areas vpm would just throw an access denied exception. I can add a dialog box which can list the scripts to be executed then user can decide if they're harmless. On curated package repo: https://github.com/vvvvpm/vpdb
On deleting files: I'd leave that for the scripts to decide as well. I can add a user prompt in the vvvv install script if they want to delete old files (move to recycle bin) before installation.
super interesting! as vpm doesnt require vvvv to be installed beforehand, would it make sense to include the vvvv dependencies of setup.exe in the vpm package of vvvv? or would that require special handling?
no, that absolutely makes sense to do, only I didn't have the willpower to do it yet
new release 1.2.1 in which app developers now can include license agreements and users can be more aware of them. https://github.com/vvvvpm/vpm/releases/latest
I just tried vpm
for some reason it's downloading to the wrong directory. It's placed the .vpm and packs folder in the parent of the vvvv directory. I registered the correct vvvversion
hmm strange. what's your vvvv's path?
C:\vvvv\vvvv_50beta35_x64 VPM
ok let me test it with directory name with spaces in it alright tested it and spaces work. are you using latest version?
Is i tpossible to target an arbitrary version of vvvv when installing a pack?
well yeah via scripting but you should prompt the user either during licence page or with a console question because it can break stuff for other packs. you can extract a download link from the download section and use that to download the vvvv in the C# script, then in the script just extract and copy + overwrite into the vvvv folder. or if you want latest alpha just add the vvvv updater vpack from vpdb to the dependencies
I'm getting this error:
Parsing input Pack Input pack is dx11-vvvv Input pack seems to be already existing as dx11 Do you want to overwrite? (Y or N) y Initializing dx11-vvvv Temp folder created successfully: D:\VVVV\vvvv_50alpha35.18_x64.vpm Initialization complete. Installing dx11-vvvv Compilation error: (7,11): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?) (28,24): error CS0103: The name 'JArray' does not exist in the current context Press any key to exit... Removing vpm temp folder. Killing GUI
I'm not sure what's wrong, I am running the latest alpha...
unzip latest vpm with 7-zip. windows vanilla unzipper puts executables and dll's into sandboxed mode, so vpm can't load DLL's for the scripts (like the json.net dll's). I can only guarantee 7-zip to not flag files as sandboxed, other programs might do as well. (this is the same as with vvvv you shouldn't unzip it with the vanilla explorer.exe unzipper)
Yup, that worked, thanks!
Hi Microdee,
this tools sounds interesting, i downloaded and installed it then i started to download the 1st pack - my pc freezed - restart . again . freezed
okay i downloaded a fresh vanilla beta36 with addonpack trying to install dx11pack via vpm doesnt work again :( i have this error messages:
can you pls help me out on this?
thx, alex
read 2 comments above. the freezing part is extreme I never met with that not even on others computers. In theory vpm shouldn't do anything which would freeze the entire system.
im using 7zip, always.
i was able to install one pack (vvvv-time) all other i tried are producing error messages for example:
vpm at your service! Found a VVVV in registry. Parsing input Pack Input pack is mp.fxh Initializing mp.fxh Temp folder created successfully: X:\NODE\v4\vvvv_50beta36_x64.vpm Cloning git repository of mp.fxh To: X:\NODE\v4\vvvv_50beta36_x64.vpm\mp.fxh Cloning: X:\NODE\v4\vvvv_50beta36_x64.vpm\mp.fxh /
Something went wrong: user cancelled certificate check: bei LibGit2Sharp.Core.Ensure.HandleError(Int32 result) in c:\projects\libgit2 sharp\LibGit2Sharp\Core\Ensure.cs:Zeile 136. bei LibGit2Sharp.Core.Proxy.git_clone(String url, String workdir, GitCloneOpt ions& opts) in c:\projects\libgit2sharp\LibGit2Sharp\Core\Proxy.cs:Zeile 355. bei LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, Clone Options options) in c:\projects\libgit2sharp\LibGit2Sharp\Repository.cs:Zeile 73 2. bei vpm.VpmUtils.CloneGit(String srcrepo, String dstdir, Boolean submodules, String branch) in C:\projects\vpm\src\vpm\utils.cs:Zeile 517. bei vpm.VPack.CloneFromGit(Boolean submodules) in C:\projects\vpm\src\vpm\vpa ck.cs:Zeile 213. bei vpm.VPack..ctor(String name, String source, IEnumerable`1 aliases, XmlDoc ument srcxml) in C:\projects\vpm\src\vpm\vpack.cs:Zeile 95. bei vpm.Program.Main(String<> args) in C:\projects\vpm\src\vpm\Program.cs:Zei le 114. Removing vpm temp folder. Killing GUI Press any key to exit...
"user cancelled certificate check"
this is very weird. if you have git installed can you check what it gives you in the command line in an empty folder?
vpm is great demotivational tool. one of best I ever saw. why?
what does it demotivates from?
Hi, I am using vpm 1.2.8 and tried to get mp.essentials from here: https://vvvvpm.github.io/
I am getting errors on the newtonsoft dependency :( Can i fix this myself somehow?
quote
unquote
but I digress, indeed I could have wrote a special handler for this specific error which gives user more info immediately what's wrong. buut vpm is open source, anybody bored can add that ;)
yeah should have read all the comments:) ok then
I've got a problem with VPM not getting further than 'Initialization complete'. It happens with any pack, including packs without dependencies. I'm on a new machine, new vvvv install 50beta37x64. Latest VPM version. VPM was extracted with 7zip. The registering process seemed to work ok. The .vpm folder gets created in the vvvv_50beta37_x64 directory and gets populated with pack subfolders.
Regular git clone works