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

Symlink creation requires elevated command prompt in Windows #120

Closed
alallier opened this issue May 3, 2017 · 12 comments
Closed

Symlink creation requires elevated command prompt in Windows #120

alallier opened this issue May 3, 2017 · 12 comments
Assignees
Labels

Comments

@alallier
Copy link
Member

alallier commented May 3, 2017

I tried digging into this but couldn't seem to find anything.

Backstory:

In the new Windows 10 Creators Update it is mentioned that symlinks in Windows changed. Windows symlinks do not require admin rights anymore (see an entire separate article here on it).

Now what is interesting is we all know before the change that in order to make a symlink in Windows you needed an elevated command prompt but when doing so with node it was not required. (I assume that in that case since node is running with elevated privileges this is fine). But with the new update symlinks in Node do not work unless the node process is ran from an elevated command prompt. (This was observed by myself and others).

So it seems as if the Windows update changed manual symlinks but broke for the cases like Node. Maybe Node hasn't accounted for the change yet in their API? At the end of the blog posts (which was posted in December) Windows mentions that are going to work with git and Node on the new change...

We are also working with the owners of open-source community tools such as Git and npm so they know symlink improvements are coming and can make the necessary changes to better support symlinks on Windows.

I would think that Node accounted for this change by now since it is about 5 months after the blog post, but reading the change log I didn't come across anything.

@alallier
Copy link
Member Author

Note: Fine in Windows Powershell

kethinov added a commit that referenced this issue May 31, 2017
@alallier
Copy link
Member Author

alallier commented Jun 8, 2017

#147 fixes the models and lib directory, are we planning to do the same fix for the symlinks in the public directory?

@kethinov
Copy link
Member

kethinov commented Jun 8, 2017

no

symlinks are needed in that case. i'm really not sure what to do about it. the win10 blog says elevated permissions shouldn't be needed but they still seem to be for some reason

@alallier
Copy link
Member Author

alallier commented Jun 8, 2017

Yeah quite confusing

@kethinov
Copy link
Member

closing this since there's really not much we can do about it

@alallier
Copy link
Member Author

alallier commented Jan 10, 2018

For what it's worth I just generated a new app and didn't need elevated privileges to make the symlinks.

Windows 10 Version 1709 (OS Build 16299.192)

@alallier
Copy link
Member Author

alallier commented May 30, 2018

Finally figured this pain of an issue out!

So in this Microsoft article you can clearly see that they pushed out a feature for non-privileged symlink creation in Windows. But why did we not see this working on different machines and working on others. Well in the fine print it states that you need to have developer mode enabled. Once you do this you can start a Roosevelt app and it will write the public symlinks without an admin command prompt. So the README has to be updated to say something to the extent, if you use Windows make sure you enable developer mode or you will be forced to start the app with an admin command prompt the first time to create symlinks

@kethinov
Copy link
Member

good info thanks, reopening to reflect that action item

@kethinov kethinov reopened this May 30, 2018
@kethinov kethinov self-assigned this May 30, 2018
@alallier
Copy link
Member Author

@mulligan121 Does #556 also close this indirectly?

@mullim
Copy link
Contributor

mullim commented Oct 29, 2018

@alallier It should close this because we use junctions now for Windows and they don't require elevated privileges.

@kethinov
Copy link
Member

I believe so as well but we should leave the issue open until this is explicitly tested.

@kethinov
Copy link
Member

kethinov commented Nov 9, 2018

I just confirmed this is fixed in Windows.

@kethinov kethinov closed this as completed Nov 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants