Forum

Cannot clone Templates

I am unable to clone any templates. When I hit the “Clone” button, nothing happens. I opened a console and tried it, and get the following errors:

00:01:27  -  : Assembly of D:\plugins\Valueroweiurowue\Valueroweiurowue.csproj is not up to date. Need to recompile ...
00:01:27 ERR : System.ComponentModel.Win32Exception in System: A required privilege is not held by the client

Stacktrace:
   at Microsoft.Win32.NativeMethods.CreateDirectory(String path, SafeLocalMemHandle acl)
   at System.CodeDom.Compiler.TempFileCollection.CreateTempDirectoryWithAce(String directory, String identity)
   at System.CodeDom.Compiler.TempFileCollection.GetTempFileName(String tempDir)
   at System.CodeDom.Compiler.TempFileCollection.EnsureTempNameCreated()
   at System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension, Boolean keepFile)
   at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.FromFileBatch(CompilerParameters options, String[] fileNames)
   at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.CompileAssemblyFromFileBatch(CompilerParameters options, String[] fileNames)
   at VVVV.Core.Model.CS.CSProject.DoCompile()
   at VVVV.Core.Model.Project.Compile()
   at VVVV.Hosting.Factories.CSProjectFactory.RecompileIfNeeded(CSProject project)
   at VVVV.Hosting.Factories.CSProjectFactory.LoadNodeInfos(String filename)
   at VVVV.Hosting.Factories.AbstractFileFactory`1.ExtractNodeInfos(String filename, String arguments)
   at VVVV.Hosting.Factories.CSProjectFactory.DoAddFile(String filename)
   at VVVV.Hosting.Factories.AbstractFileFactory`1.AddFile(String filename)
   at VVVV.Hosting.Factories.AbstractFileFactory`1.Clone(INodeInfo nodeInfo, String path, String name, String category, String version, INodeInfo& newNodeInfo)
   at VVVV.Hosting.HDEHost.Clone(INodeInfo nodeInfo, String path, String name, String category, String version)

It does create the folder and the .cs and .csproj files, but when I drag the .csproj file into a patch, I get the same error again:

00:06:01  -  : Assembly of D:\plugins\Valueroweiurowue\Valueroweiurowue.csproj is not up to date. Need to recompile ...
00:06:01 ERR : Exception during extracting node infos from file D:\plugins\Valueroweiurowue\Valueroweiurowue.csproj: A required privilege is not held by the client

Looks like it is unable to create some temp directory? All the usual directories are in the created plugin folder.

This is with both x86 and x64 35.8 and 38.1, on Win10 Enterprise x64 1903. I do have Visual Studio Pro 2017 installed if that could be mucking things up. And this is with an administrator account. Whaaaasup? Thanks!

this is odd. must have something to do with specific rights settings on your machine. does it make a difference if you explicitly run vvvv.exe as an administrator?

i doubt that vvvv can do anything about this. if you search for the error online you’ll find quite some recommendations…

Hmmm, actually it may be because I am already running with elevated privileges. UAC is off, and I am running as an administrator, and I get the same behavior running vvvv.exe as Administrator. Seems there is a bug in Windoze concerning temp folder creation when running elevated introduced with an update. This is particularly obnoxious on Win10 because to really turn UAC off and on you have to edit the registry and reboot, major pain just to clone a plugin. I’ll poke around on this a bit more.

(And before anyone answers with “so just don’t run with UAC off, why would anyone want to do that, it’s there for your own good blah blah blah”, let me just say that it fixes other obnoxious behaviors that got even more egregious with Win10.)

If you are on clean windows, it might be an option to reinstall, i had some issues with first install last time (about month ago), reinstalling did helped

It is in fact running with UAC off that manifests this. I turned UAC back on and was able to clone again, running both normally and starting vvvv.exe as Administrator. What a righteous pain in the ass.

Here’s what gave me the clue: https://github.com/wixtoolset/issues/issues/5859

I have always run with UAC off, for years, and have not had this problem until Win10.

Well the plot thickens. I turned UAC back off again (and by that mean setting EnableLUA to 0 in the registry), and lo and behold, could clone just fine.

So I’m guessing the time I cloned with UAC on, some folder was able to be created somewhere, and when UAC was turned off again, clones work because that folder exists. That or there is some weird statefulness in Win10 about an update being applied when UAC was off, etc. Or some combination. This happened on two different Win10 systems that I had turned UAC off before installing and running vvvv.

So seems the workaround, should someone see the same problem, is to turn UAC back on (doing it via the usual control panel Users option will work as it resets EnableLUA back to 1), do a clone, then you can set EnableLUA back to 0 and clones will still work.

Edit:

Doing this also makes the previous clones that failed usable. Dragging the same .csproj file into a patch which previously threw the error now works fine. So the problem is not in the creation of the clone, but in the compilation.