Unity Builds don't run on other computers

Hello,

I’ve searched the Internet for several hours on this topic but wouldn’t quite locate a a solution. I’m really surprised that more people don’t have this issue because it seems like i’ve missed something pretty simple. I have the free version of Unity and tried to build a small network chat scene. Everything works perfectly on my computer which has Unity installed (I built the executable and ran that as the server and then ran the other inside Unity itself).

As soon as I try to copy the executable (with all files and subfolders) to my network drive in order to run on a separate computer, the executable on that machine does nothing. I’ll open it, run with admin, and it doesn’t do anything. I checked my task manager to see the process show up and then disappear after a few seconds. To make matters more strange, when I try to run this on the stand alone machine, the program never even creates a log file so I cannot tell what it is doing at run time. If I go back to my Unity installed computer and try to run the file off the network location, it runs fine and also creates the log file. The stand alone machine has Win 7 64bit.

During my research, I discovered a similar problem, however was unable to make the solution work for me. Right now I can’t seem to recreate the search query to pull up the forum post in order to link here.

Does anyone here know what might be different on my Unity installed computer and the non-unity installed stand alone computer?

Thanks to the community,
Dave

I have the same issue, i also tried to just build a simple scene(a simple cube and camera only) build and run on the Unity installed computer , it works fine.
put the build on a memory stick and transfer to all 6 of the computers at my house and i get the windows sorry windows has encounterd a problem with(test build)and has to be shut down.i tried doing fresh install of Unity with same results.Going to uninstall and roll-back to previous version.i have tried running builds i have from before the last update and they work fine.will repost on the roll-back results.

1 Like

Well so far no luck. I did a uninstall of unity(complete mono all saved projects everything) (cleaned the registry, defraged HD) reinstalled the latest version again, and got same results runs and builds fine on the project machine but WILL NOT run on any of the other computers in my house. The only projects i can get to run on the other computers are builds i made with Unity 3.3.4. Not sure but i think it has to do with the age of the other computers they all meet the Unity system requirements to build projects, but none of them can run any version of unity above 3.4.5. i had to go out and get a quad core just to get unity to run, with the newer versions of unity. i have not yet had the chance to take a build to another newer computer, to see if it runs on that system.
Just in case someone else should read - these are my system specs.

AMD Athlon 2 QuadCore 640
3.0 + GHZ. PROCESSOR
4 GIG RAM (XP only recog. 3.25)
ATI Radeon HD 3000 GPU (1 GIG RAM)
all drivers current
XP HOME SP3(all updates current)

all the other mentioned computers i have tryed to run on are all about the same following specs.

AMD Athlon (SINGLE CORE)
3.0 + GHZ processor
1 - 2 gig ram
ATI Radeon x13000(256 ram shader 3.0) AGP PCI
NVIDIA GeForce FX5500(256 ram opengl 2.0 shader 2.0)AGP PCI
all video drivers current
XP home SP3(all updates current)
all drivers current

1 Like

I Have the EXACT same problem its very frustrating as I am also trying to test network connections I hope someone can answer this soon!

sure you did move the application and the application_data folder?
The exe itself has nothing to do with your game, its only a player. Your game is in the data folder and you need to copy both to get it running anywhere (even on your own machine).

Unity does not use anything on the system, not even .NET (it comes with its own mono) so there is nothign that is installed thats required unless you build webplayers.

Ive noticed that .exe files wont work from network drivers, unless you use mapped drive letter…

example#1 open your network folder with the drive letter (works)
X:\your\files\are\here\unitygame.exe

example#2 open your network folder with the server path (doesnt work)
\yourserver\your\files\are\here\unitygame.exe

And also,
programs like outlook usually converts your links in the email to unc paths…

In .Net, they Usually they won’t work from mapped drive letters also, unless they are signed and the folder is on a trusted network share. Don’t know if it’s the same with unity or mono. It’s a security precaution built into Windows, so you don’t run some untrusted app that modifies your machine. The more cynical amongst us believe it is also so they can ding the developer for certificate fees.

I’m having the same problem.
Building a Mac standalone app and saving it to Google Drive. Tried to open it on other Mac’s, and it never opens. :confused:

Did anyone find a fix for this?

I’m having this same problem. I just want to confirm, based on what Jaimi said: is this a Unity or Windows limitation (bug/feature)? We would really like to avoid needing to instruct our users to first map the network share to a drive letter before they can run our app, but if there is literally nothing we can do about it I’d at least like to be able to save some headache and mark WONTFIX. :sunglasses:

Usually something goes wrong with permissions. Check out the Console app which’ll probably give you more information than you ever wanted about what’s happened.

I think I see the cause of the problem that I and mgear are having, running a game.exe from a UNC path.

I ran my exe from the Windows CMD prompt, and directed output to a file.

C:>“\server\share\foo\bar\game.exe” > output.txt

I wasn’t expecting anything, since running that command without the file direction, the command finishes without any output. But here’s the content of output.txt:

Mono path[0] = ‘//server/share/foo/bar/game_Data/Managed’
Mono path[1] = ‘//server/share/foo/bar/game_Data/Mono’
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `//server/share/foo/bar/game_Data/Managed\mono\2.0\mscorlib.dll’ directory.

Weird! mscorlib.dll definitely is in the Data/Managed folder, but the Managed folder does not have any subfolders. Now, here’s the output of running the exe with the share mapped to a network drive, Z:

Z:>“foo\bar\game.exe” > output.txt

Mono path[0] = ‘Z:/foo/bar/game_Data/Managed’
Mono path[1] = ‘Z:/foo/bar/game_Data/Mono’

… and that’s it. No errors about mscorlib.dll, no more output at all. At this point the app has launched and Unity’s regular output_log.txt is filling up. Business as usual.

I’ve been running ProcMon on my exe to see if I could find anything helpful, and after seeing the above issue with finding mscorlib.dll, I scanned my ProcMon log after attempting to run the exe without the share mapped, and found this curious line (with several others like it):

Operation Path Result
CreateFile \server\share\foo\bar**server\share\foo\bar**game_Data\Managed\mscorlib.dll PATH NOT FOUND

See the part in bold? The call to load mscorlib.dll seems to be trying an absolute path, which is appending to the relative path. I suppose mono just isn’t built to support UNC paths. When I run the exe with the share mapped to a drive and check ProcMon, the Path in the above line is correct - “\server\share\foo\bar\game_Data\Managed\mscorlib.dll” - and Result is “SUCCESS”.

Is there anything we as developers can do to our Unity project to get around this (like some Assembly option, or whatever) or is this just something we’ll have to live with until the folks at mono fix this?

I’m having this problem building on Win 8.1(64bit) and moving it to a Win 7(64 bit) system using Unity 5.3.1. Anybody ever figure this out? I’m not even trying to do any fancy network stuff, just a plain jane single player standalone build. I never had this problem before, and I’ve already released a full demo for this game using Unity 5.0.1 and it all worked fine.

I know this is an old convo, but perhaps this helps someone searching like me. I found that my network drive was messing up the application by zipping it when I uploaded it, and then unzipping it when I downloaded it. I found that if I zipped it first then uploaded it, and unzipped it after downloading on the destination computer, it worked with no problem.

It seems that when you build your own dll’s with Visual Studio 2015 the dlls have a dependency on VCRuntime140.dll
You can see that by opening the dll in http://dependencywalker.com/
But older OS-es or non-development systems do not have this dll.
To fix this you must install the Visual C++ Redistributable for Visual Studio 2015 x86 or x64
(see solution at windows - PHP 7: Missing VCRUNTIME140.dll - Stack Overflow)
Download at:
https://www.microsoft.com/en-us/download/details.aspx?id=48145
This must be installed on every computer that runs the build.

I have the same problem, how did you solve it in the end?