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

Access denied error when installing squirrel app #804

Open
btoda opened this issue Aug 24, 2016 · 5 comments
Open

Access denied error when installing squirrel app #804

btoda opened this issue Aug 24, 2016 · 5 comments

Comments

@btoda
Copy link

btoda commented Aug 24, 2016

Hi,
We keep getting this error from time to time while installing the app.
The de-DE folder in our app contains just a single dll file.
If feels a bit illogical, as if we can create the root folder why would we have no access to create the subfolders?

2016-04-22 09:28:31> IEnableLogger: Failed to install package to app dir: System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'de-DE' is denied.
at System.IO.DirectoryInfo.MoveTo(String destDirName)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass7_1.b__4(DirectoryInfo subdir)
at Squirrel.Utility.<>c__DisplayClass12_11.<ForEachAsync>b__1() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Squirrel.Utility.<>c__DisplayClass13_01.<b__1>d.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass7_2.b__3(DirectoryInfo ld)
at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass7_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__351.MoveNext() ---> (Inner Exception #0) System.IO.IOException: Access to the path 'de-DE' is denied. at System.IO.DirectoryInfo.MoveTo(String destDirName) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass7_1.<installPackageToAppDir>b__4(DirectoryInfo subdir) at Squirrel.Utility.<>c__DisplayClass12_11.b__1()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.<>c__DisplayClass13_0`1.<b__1>d.MoveNext()<---

Any ideas why this could happen? Should we avoid subdirectories in our app?

@hatton
Copy link

hatton commented Nov 21, 2016

Our customers are also getting this, very occasionally. They seem to eventually get it installed by retrying. We have never been able to get ahold of one of these problem machines to investigate.

For what it's worth, I have been able to reproduce the symptom using https://github.com/hatton/FileMeddler, which agressively locks every file that is touched in a directory. This suggests that possibly some process on the customer computer is seeing the installation activity and touching files. One expects anti-virus to do that without locking. But we've seen some customers with three different anti-virus programs running.. maybe at some point they interfere?

We are considering making our squirrel instance robust to this kind of interference through retries.

@hvassbotn
Copy link

Are you guys on the latest version. Sounds like this
#698
Should be fixed in the latest version

@hatton
Copy link

hatton commented Nov 30, 2016

@hvassbotn No, we're behind. Thanks for the pointer.

Just to update this thread: we were able to confirm that when the problem happens, it can be worked around by temporarily lowering Windows's UAC to the lowest level, or disabling the anti-virus. We decided to provide users with that troubleshooting info instead of adding automatic fileio retries.

@hvassbotn
Copy link

We just updated to 1.4.4 to fix this problem:
https://github.com/Squirrel/Squirrel.Windows/releases

It doesn't do retries, it just avoids moving files between folders by unpacking them to the correct folder in the first place.

@GabrielAPass
Copy link

This is a problem again in version 1.16.0 & 1.17.0 Beta.
It is summarized in this thread with SquirrlSetup.log files:
atom/atom#13150
& sample log file
SquirrelSetup.pdf

In an attempt to pull together redundant / related posts of this issue since 1.16+, I found the following open issue reports. These appear to all be the same:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants