ScratchJr-Desktop icon indicating copy to clipboard operation
ScratchJr-Desktop copied to clipboard

Scratchjr on 32bit-Window7 and Local network

Open enemali opened this issue 7 years ago • 9 comments

i really love this desktop version of ScratchJr , something i have waited for so long because i would love to use this in the classroom for the little kids here in Nigeria. i downloaded the window installer from https://jfo8000.github.io/ScratchJr-Desktop and everything works fine on 64bit window8 but when i tested on 32bit window7 ,i got an error.

Question Can i run this desktop version of ScratchJr on local network and get other computers on the same network to connect to it using the browser? , so i dont have to install it on every computer in the school. Maybe you can direct me on how to go about it.

Setup log Here is setup log which i believe shows the error but i have no clue what is preventing installation on 32bit-window7

2018-06-20 10:46:02> Program: Starting Squirrel Updater: --install . --rerunningWithoutUAC 2018-06-20 10:46:03> Program: Starting install, writing to C:\Users\mic2\AppData\Local\SquirrelTemp 2018-06-20 10:46:03> Program: About to install to: C:\Users\mic2\AppData\Local\ScratchJr 2018-06-20 10:46:03> CheckForUpdateImpl: Couldn't write out staging user ID, this user probably shouldn't get beta anything: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\mic2\AppData\Local\ScratchJr\packages.betaId'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost) at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost) at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost) at System.IO.File.WriteAllText(String path, String contents, Encoding encoding) at Squirrel.UpdateManager.CheckForUpdateImpl.getOrCreateStagedUserId() 2018-06-20 10:46:03> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\mic2\AppData\Local\ScratchJr\packages\RELEASES'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at Squirrel.Utility.LoadLocalReleases(String localReleaseFile) at Squirrel.UpdateManager.CheckForUpdateImpl.<CheckForUpdate>d__2.MoveNext() 2018-06-20 10:46:04> CheckForUpdateImpl: Reading RELEASES file from C:\Users\mic2\AppData\Local\SquirrelTemp 2018-06-20 10:46:04> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch 2018-06-20 10:46:05> ApplyReleasesImpl: Writing files to app directory: C:\Users\mic2\AppData\Local\ScratchJr\app-1.3.2 2018-06-20 10:46:30> LogHost: Rigging execution stub for ScratchJr_ExecutionStub.exe to C:\Users\mic2\AppData\Local\ScratchJr\ScratchJr.exe 2018-06-20 10:46:33> ApplyReleasesImpl: Squirrel Enabled Apps: [C:\Users\mic2\AppData\Local\ScratchJr\app-1.3.2\ScratchJr.exe] 2018-06-20 10:46:34> ApplyReleasesImpl: Couldn't run Squirrel hook, continuing: C:\Users\mic2\AppData\Local\ScratchJr\app-1.3.2\ScratchJr.exe: System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.Utility.<InvokeProcessAsync>d__11.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.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass10_0.<<invokePostInstall>b__0>d.MoveNext() 2018-06-20 10:46:34> IEnableLogger: Failed to invoke post-install: System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c.<invokePostInstall>b__10_6(ProcessStartInfo info) at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext) at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__10.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.<LogIfThrows>d__42.MoveNext() 2018-06-20 10:46:34> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.ComponentModel.Win32Exception: The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c.<invokePostInstall>b__10_6(ProcessStartInfo info) at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext) at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__10.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.<LogIfThrows>d__42.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__2.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.UpdateManager.<FullInstall>d__10.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.Update.Program.<Install>d__4.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 System.Threading.Tasks.Task.Wait() at Squirrel.Update.Program.executeCommandLine(String[] args) at Squirrel.Update.Program.main(String[] args) ---> (Inner Exception #0) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c.<invokePostInstall>b__10_6(ProcessStartInfo info) at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext) at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__10.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.<LogIfThrows>d__42.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__2.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.UpdateManager.<FullInstall>d__10.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.Update.Program.<Install>d__4.MoveNext()<---

2018-06-20 10:48:01> Program: Starting Squirrel Updater: --install . 2018-06-20 10:48:01> Program: Starting install, writing to C:\Users\mic2\AppData\Local\SquirrelTemp 2018-06-20 10:48:01> Program: About to install to: C:\Users\mic2\AppData\Local\ScratchJr 2018-06-20 10:48:01> Program: Install path C:\Users\mic2\AppData\Local\ScratchJr already exists, burning it to the ground 2018-06-20 10:48:12> CheckForUpdateImpl: Couldn't write out staging user ID, this user probably shouldn't get beta anything: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\mic2\AppData\Local\ScratchJr\packages.betaId'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost) at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost) at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost) at System.IO.File.WriteAllText(String path, String contents, Encoding encoding) at Squirrel.UpdateManager.CheckForUpdateImpl.getOrCreateStagedUserId() 2018-06-20 10:48:12> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\mic2\AppData\Local\ScratchJr\packages\RELEASES'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at Squirrel.Utility.LoadLocalReleases(String localReleaseFile) at Squirrel.UpdateManager.CheckForUpdateImpl.<CheckForUpdate>d__2.MoveNext() 2018-06-20 10:48:12> CheckForUpdateImpl: Reading RELEASES file from C:\Users\mic2\AppData\Local\SquirrelTemp 2018-06-20 10:48:12> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch 2018-06-20 10:48:12> ApplyReleasesImpl: Writing files to app directory: C:\Users\mic2\AppData\Local\ScratchJr\app-1.3.2 2018-06-20 10:48:29> LogHost: Rigging execution stub for ScratchJr_ExecutionStub.exe to C:\Users\mic2\AppData\Local\ScratchJr\ScratchJr.exe 2018-06-20 10:48:34> ApplyReleasesImpl: Squirrel Enabled Apps: [C:\Users\mic2\AppData\Local\ScratchJr\app-1.3.2\ScratchJr.exe] 2018-06-20 10:48:34> ApplyReleasesImpl: Couldn't run Squirrel hook, continuing: C:\Users\mic2\AppData\Local\ScratchJr\app-1.3.2\ScratchJr.exe: System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.Utility.<InvokeProcessAsync>d__11.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.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass10_0.<<invokePostInstall>b__0>d.MoveNext() 2018-06-20 10:48:34> IEnableLogger: Failed to invoke post-install: System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c.<invokePostInstall>b__10_6(ProcessStartInfo info) at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext) at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__10.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.<LogIfThrows>d__42.MoveNext() 2018-06-20 10:48:34> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.ComponentModel.Win32Exception: The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c.<invokePostInstall>b__10_6(ProcessStartInfo info) at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext) at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__10.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.<LogIfThrows>d__42.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__2.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.UpdateManager.<FullInstall>d__10.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.Update.Program.<Install>d__4.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 System.Threading.Tasks.Task.Wait() at Squirrel.Update.Program.executeCommandLine(String[] args) at Squirrel.Update.Program.main(String[] args) ---> (Inner Exception #0) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform. at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Squirrel.UpdateManager.ApplyReleasesImpl.<>c.<invokePostInstall>b__10_6(ProcessStartInfo info) at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable1 source, Action1 onNext) at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__10.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.<LogIfThrows>d__42.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__2.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.UpdateManager.<FullInstall>d__10.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Squirrel.Update.Program.<Install>d__4.MoveNext()<---

enemali avatar Jun 20 '18 11:06 enemali

It looks like I need to recompile this to make a 32 bit installer as well as a 64 bit installer for windows. It might take a few weeks, but I can get that organised for you.

jfo8000 avatar Jun 21 '18 00:06 jfo8000

i will patiently wait for the 32bit build , Thanks

enemali avatar Jun 21 '18 06:06 enemali

I have sprinkled in a few more flags to the build system and it has popped out a 32 bit build for me, I was wondering.. I don't have access to a 32 bit machine - would you be willing to experiment with this and let me know if it works? The setup error logs you gave me were fantastic.

Click here to download ia32 experimental build

And run on a 32 bit windows machine.

Can you let me know if this works or not?

jfo8000 avatar Jun 22 '18 23:06 jfo8000

Wow, it works . There was No error during installation. Thanks for taking your time to compile this. i will keep using both versions ( 32 and 64)bit because the school computer laboratory is mixed with 32bit and 64bit window machines.

enemali avatar Jun 24 '18 02:06 enemali

Great! This means I can update the downloads page. Thanks so much for testing it.

jfo8000 avatar Jun 24 '18 23:06 jfo8000

Thank you for your involvement and big help. I have the same problem with Windows 7 computers. I will try the 32 bits version.

mckrill avatar May 03 '19 12:05 mckrill

I really appreciate your work! it works great on both x86 and x64.

marcoviarengo avatar Aug 20 '19 19:08 marcoviarengo

Hi, I had the same problem and resolution, by installing the 32 bit specific exe. Please update the project page as to let users download the proper 32/64 bit kit version. Thank you.

ctincristi avatar Mar 21 '20 08:03 ctincristi

I have sprinkled in a few more flags to the build system and it has popped out a 32 bit build for me, I was wondering.. I don't have access to a 32 bit machine - would you be willing to experiment with this and let me know if it works? The setup error logs you gave me were fantastic.

Click here to download ia32 experimental build

And run on a 32 bit windows machine.

Can you let me know if this works or not?

Thank you very much! It really works!

But after weeks of stable work this build started to fail saving projects. Also it does not allow to save edited sprites and backgrounds. Reinstall doesn't help. Do you have any ideas what's wrong?

Eggmont avatar Nov 28 '20 16:11 Eggmont