This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Path limit error when try to include merge module
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 21, 2012
02:06 AM
Path limit error when try to include merge module
Hello,
I'm getting the path limit error when try to include merge module, i.e. exact error is
"The file path is longer than the limit set by the operating system. Change the build location of the current release to a shorter path to resolve this issue."
If i change the .ism file location then I'm able to create installer. I took a look into documentation for Error -6267, and it advises to change file location.
This solution is not really suits me as we use "long paths" in our continuous integration automated build system.
Could you please advise how this issue can be solved?
Thank you in advance.
Best regards, Georgiy
I'm getting the path limit error when try to include merge module, i.e. exact error is
"The file path is longer than the limit set by the operating system. Change the build location of the current release to a shorter path to resolve this issue."
If i change the .ism file location then I'm able to create installer. I took a look into documentation for Error -6267, and it advises to change file location.
This solution is not really suits me as we use "long paths" in our continuous integration automated build system.
Could you please advise how this issue can be solved?
Thank you in advance.
Best regards, Georgiy
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 21, 2012
05:53 AM
I once worked at a company that did 100,000 build a year with typically around 1000 merge modules being consumed into an installer.
Here's some tips:
1. We had a prebuild step that picked an available drive letter and did a subst command for the directory that had the ISM. Therefore D:\.....\Sources\Foo.ism became E:\Foo.ism
2. Another approach (the one mentioned in the error ) is to change the ISM to build to E:\ISBuild and have a prebuild step that cleans the contents of E:\ISBuild. This is done in the release configuration settings, not by moving the ISM itself.
3. Other gotchas. InstallShield allows you to associate a merge module to a directory. But if your module has a dependency on another module, there's not way to do this. So we had another build step that was invoked by the precompression event to do SQL updates against the built MSI to fix the directory table entries.
4. InstallShield also fails to properly merge the contents of properties such as SecureCustomProperties and MsiHiddenProperties. If the merge module contains these it'll blast the property in the built MSI and you'll have various validation and runtime problems. So therefore we had another build event that examined the various sources and fixed it back up.
5. InstallShield would sometimes run for 30-45 minutes before reporting a merge module was missing. Therefore we had a prebuild step that performed a quick flight check to make sure everything was present before starting the build.
This all sounds complicated ( and it is ) but once in place works well. I actually do like the use of Merge Modules with installers. I typically use InstallShield Basic MSI coupled with WiX merge modules.
Here's some tips:
1. We had a prebuild step that picked an available drive letter and did a subst command for the directory that had the ISM. Therefore D:\.....\Sources\Foo.ism became E:\Foo.ism
2. Another approach (the one mentioned in the error ) is to change the ISM to build to E:\ISBuild and have a prebuild step that cleans the contents of E:\ISBuild. This is done in the release configuration settings, not by moving the ISM itself.
3. Other gotchas. InstallShield allows you to associate a merge module to a directory. But if your module has a dependency on another module, there's not way to do this. So we had another build step that was invoked by the precompression event to do SQL updates against the built MSI to fix the directory table entries.
4. InstallShield also fails to properly merge the contents of properties such as SecureCustomProperties and MsiHiddenProperties. If the merge module contains these it'll blast the property in the built MSI and you'll have various validation and runtime problems. So therefore we had another build event that examined the various sources and fixed it back up.
5. InstallShield would sometimes run for 30-45 minutes before reporting a merge module was missing. Therefore we had a prebuild step that performed a quick flight check to make sure everything was present before starting the build.
This all sounds complicated ( and it is ) but once in place works well. I actually do like the use of Merge Modules with installers. I typically use InstallShield Basic MSI coupled with WiX merge modules.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 27, 2012
04:54 AM
Thank you for your response! I will study your proposals, but I know that we cannot substitute hard drive as we do not have such flexibility in our build system.
Now I managed to resolve this problem by changing .ISM file name to shorter one. Luckily I exceeded path length a little 🙂
Cheers, Georgiy
Now I managed to resolve this problem by changing .ISM file name to shorter one. Luckily I exceeded path length a little 🙂
Cheers, Georgiy