Page 1 of 1
Error while installing assembly into Global Assembly Cache
Posted: Mon Jan 23, 2006 10:40 am
by gweihs
I have a setup that installs 1 .NET assembly into the GAC. It fails with a message saying there was an error reading from the temp file (see attached image).
I have no other files to install, just that one. So there are no file copies happening during the install.
Any ideas?
sorry, forgot to add attachment
Posted: Mon Jan 23, 2006 10:41 am
by gweihs
Heres the image
File Attached:
GACBug1.gif
Posted: Mon Jan 23, 2006 10:41 am
by MichaelNesmith
I think your setup output path may be too long, please try something shorter, try for example placing built setups in c:\\builds and see if that helps your situation.
Posted: Mon Jan 23, 2006 10:47 am
by Gizm0
Also verify that the assembly is strong name signed, otherwise you can't install it on the GAC!
Posted: Mon Jan 23, 2006 11:32 am
by gweihs
I have moved it to a different (shorter) path and it works fine from there. I dont see this being a long term solutions, however. Can you give me some details on this restriction, is it a bug? What is the max length of the filepath? We have a rigid build process that will take a lot of effort to change.
Posted: Mon Jan 23, 2006 11:44 am
by MichaelNesmith
You may shorten your source paths. Essentially, the MAX_PATH limit is being exceeded and this is the root cause of the problems we're experiencing here. The only workaround is to use shorter source paths or build output paths.
Posted: Mon Jan 23, 2006 11:50 am
by gweihs
It appears to be 100 character limit on the path... can you confirm?
Posted: Mon Jan 23, 2006 12:33 pm
by CandiceJones
The limit is 255. Keep in mind that this limit may be exceeded when setup is running from the temp folder on the end user system. Therefore, best to use short paths.
You don't need to change your existing folder structure either. Just use subst drives to replace a very long source path with a single drive letter!
Posted: Mon Jan 23, 2006 12:52 pm
by gweihs
Does this problem relate to GAC registration only, to everything or something in between.
Posted: Mon Jan 23, 2006 1:23 pm
by MichaelNesmith
It effects all files that are built with InstallAware.