Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot deploy mods via symlink #6234

Closed
Vectorial1024 opened this issue May 7, 2020 · 10 comments
Closed

Cannot deploy mods via symlink #6234

Vectorial1024 opened this issue May 7, 2020 · 10 comments
Labels
waiting for reply Highlights that the development team is currently waiting for a response on the labeled issue

Comments

@Vectorial1024
Copy link

Describe the bug
Cannot deploy mods via symlink. I am trying to install mods for X4: Foundations.

To Reproduce
Steps to reproduce the behavior:

  1. Download any mod for X4: Foundations in Nexus via "Download with Manager"
  2. Launch Vortex
  3. Enable that mod
  4. See "Failed to deploy mod" error

Expected behavior
Mods are deployed with no errors, and I can find the mod folders in the game /extensions folder.

Screenshots
There are some descriptions of the screenshots at imgur.
https://imgur.com/a/1FAoE76

The error log from above in text form:

Error: The system cannot find the file specified.
    at C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\renderer.js:6607:86
    at Promise.cancellationExecute [as _execute] (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\debuggability.js:406:9)
    at Promise._resolveFromExecutor (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\promise.js:518:18)
    at new Promise (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\promise.js:103:10)
    at DeploymentMethod.startElevated (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\renderer.js:6594:23)
    at C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\renderer.js:6578:34
    at tryCatcher (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromiseCtx (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\promise.js:641:10)
    at _drainQueueStep (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\async.js:97:12)
    at _drainQueue (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\async.js:102:5)
    at Async.drainQueues (C:\Program Files\Black Tree Gaming Ltd\Vortex\resources\app.asar\node_modules\bluebird\js\release\async.js:15:14)

Platform (please complete the following information):

  • OS: Win10
  • Vortex Version 1.2.11

Additional context
I also enabled the Workaround -> Symlinks -> "Allow Symlinks without elevation" settings, and according to the dialog, Vortex should have set up an elevated task in Windows for deploying mods.

@TanninOne
Copy link
Contributor

The error message indicates that the task that was created by the Workaround can't be found, why I can't say based on the information provided.
You can see the list of tasks in windows by opening "Task Scheduler" from the start menu, the Task created by Vortex is called "Vortex Symlink Deployment".
If it's missing, try toggling the workaround off and on again.
If that still doesn't create the task the workaround won't work, not sure how we'd find out why.

@TanninOne TanninOne added the waiting for reply Highlights that the development team is currently waiting for a response on the labeled issue label May 7, 2020
@Vectorial1024
Copy link
Author

There is no new task created, even though I have switched off the workaround, restart Vortex, and enabled the workaround...

Could it be something on my Win10 blocking the creation of such tasks?

@TanninOne
Copy link
Contributor

Must be, but I'm not aware of any setting in Windows that would prevent the creation of tasks.
Could you try creating one manually in Task Scheduler and see if you get an error message there?
Unfortunately I have limited experience with the windows task scheduler, you're the first case I'm aware of where it fails this way.
(it doesn't seem to work on windows 7 but there Vortex gets an error message).

@Vectorial1024
Copy link
Author

Still, what should the task do? I will need to tell Windows to do something like running an exe; I'll default to the Vortex exe for now.

@TanninOne
Copy link
Contributor

Tbh. If Vortex can't create the task it's unlikely it will be able to run it anyway, so I'm afraid you will just have to live with the workaround not being available to you.

My recommendation would be to disable "Deploy Mods when enabled" and then install and enable your mods in bulks before you deploy manually, that way you don't have to confirm the UAC dialog as often.

Or you could move your staging folder to be on the same drive/partition as the game and then use hardlink deployment which works without elevation.

Or, if you consider yourself an advanced windows user: go to windows settings -> Update&Security -> For developers and there select "Developer mode".
This will also allow Vortex to create symlinks without elevation without the workaround.

@Vectorial1024
Copy link
Author

Vectorial1024 commented May 10, 2020

It is mysterious, but suddenly the issue went away.

Previously, the only deployment method I got was "Symlink deployment (requires elevation)", and now I still get only one deployment method, but the name becomes "Symlink deployment".

As a matter of documentation, I tried enabling Development Mode on Windows 10, and disabled it. I also set up a global task which would run Vortex.exe at highest permission possible every time I log in.

Having done those things (and thinking that those things did not work, since I immediately tried to deploy mods after setting those two things, and could not deploy mods), I restarted Windows, and the issue went away. Not sure what might have made the issue went away.

Edit: I also re-installed a fresh copy of Vortex by also cleaning the relevant AppData folders manually. I also cleaned up the previous deployment and staging folders manually before I set them again to the other drive away from the main drive. Essentially I had a "clean" environment to set things up again with Vortex. Not sure if the clean environment helped.

@Vectorial1024
Copy link
Author

It is strange. After closing Vortex and opening it back up in the same session of Win10, now it says "Deployment method no longer supported: Requires admin rights on windows."

@Vectorial1024
Copy link
Author

Not sure if important piece of info, but I am using both Steam and Vortex to obtain mods for X4 Foundations.

I noticed that once Steam made their updates, the deployment from Vortex will fail.

Not sure if the Steam-Vortex integration extension for Vortex will help.

@TanninOne
Copy link
Contributor

@Vectorial1024 Sorry for the very late reply, unfortunately your posts don't actually shed any light on the initial problem.
The deployment methods "Symlink deployment" and "Symlink deployment (requires elevation)" are separate.
The former only works (and will only show up) if you run Vortex as admin or if you have the developer mode enabled. In this mode you don't need elevation and no workaround, but running Vortex as admin is problematic in all kinds of ways. developer mode however not so much.

The issue you were posting about initially affected the "requires elevation" variant however, which is used if the first one isn't available.
In this variant Vortex needs to give a secondary process (which can do nothing other than create symlinks) elevation. This requires you either confirm the UAC dialog or use the workaround using a task.
What you described above (running Vortex as admin or with Developer Mode) simply sidesteps the issue, it doesn't provide any information on why Vortex can't use the Task it created.

@TanninOne
Copy link
Contributor

Closing due to lack of feedback/assumed to be resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting for reply Highlights that the development team is currently waiting for a response on the labeled issue
Projects
None yet
Development

No branches or pull requests

2 participants