I expect that ppm will install anything that's cound in blib/script into whatever is specified by $Config{installsitescript}.
All well and good, but as it never gets added to the path, it will always require manual intervention for anything that uses it, to work.
I'll say this once and forever hold my peace on it, but your whole renaming dlls, sticking them in a "common place", and using --force to install them is fundamentally flawed.
What happens when one of your renamed dlls changes? You have just recreated the whole msvcrt.dll dll-hell scenario over again.
I install two of your packages each has a dependency upon a different version of one or more of your renamed dlls. Whichever order I install them in, one of them gets the wrong thing.
And if I install some other package that uses the same dll, but under its real name, what then? If I use both modules in the same script, then I'm going to be using 2 different versions of the same code...
MS (belatedly) got around to solving the problem when they implemented side-by-side assemblies.
From the point of view of someone who will not have to go through the work of changing everything, and with a less than strong attitude toward properness, I think that you should be either:
That way, when the day comes that one of your packages needs a later version of one of your renamed-to-sis dlls, its installation won't break every previous one still using the older version. And even if one script uses two packages that each depend upon a different versions, everything will still work because of the side-by-side feature.
package MinGW::Redist; use Win32; Win32::LoadLibrary( 'libgcc_s_dw2_1.dll' ) or die $^E; Win32::LoadLibrary( 'libstdc++-6.dll' ) or die $^E; ... 1;
The latter would avoid the need for --force, but would not resolve the problem of different packages needing different versions.
Overall, the former is both the simplest and best solution.
In reply to Re^6: Module::Install hacking
by BrowserUk
in thread Module::Install hacking
by syphilis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |