We have run in some .dll hell problems for our clients lately, so I was wondering if SxS installations of the requiered .dll's and .ocx's is a good idea. I read about it and succeeded in deploying our application when at least some of its dependencies were catered for through a manifest, but is it still the recommended way of deploying, or is it a fad from the last few years and now gradually being abandoned?
Side by Side manifests, hot or falling from grace?
337 views Asked by Dabblernl At
2
There are 2 answers
Related Questions in DEPLOYMENT
- Why does the Jenkins SVN plugin give error E170001 when connecting to my VisualSVN server?
- How to find the Git Revision Hash in a synced SVN repo using SubGit?
- In SVN, what's the different between "merge from a to b" an "merge from b to a"?
- Revert back to older version in TortoiseSVN and Commit
- SVN - folder checkout and merges
- Automatically Compile .Net UserControls
- SVN update not working
- maven-scm-plugin 1.9.4 - too old to work with working copy
- git-svn problems creating tags
- Sonarqube SVN Plugin fails with code E155007 'is not a working copy'
Related Questions in VB6
- Why does the Jenkins SVN plugin give error E170001 when connecting to my VisualSVN server?
- How to find the Git Revision Hash in a synced SVN repo using SubGit?
- In SVN, what's the different between "merge from a to b" an "merge from b to a"?
- Revert back to older version in TortoiseSVN and Commit
- SVN - folder checkout and merges
- Automatically Compile .Net UserControls
- SVN update not working
- maven-scm-plugin 1.9.4 - too old to work with working copy
- git-svn problems creating tags
- Sonarqube SVN Plugin fails with code E155007 'is not a working copy'
Related Questions in SXS
- Why does the Jenkins SVN plugin give error E170001 when connecting to my VisualSVN server?
- How to find the Git Revision Hash in a synced SVN repo using SubGit?
- In SVN, what's the different between "merge from a to b" an "merge from b to a"?
- Revert back to older version in TortoiseSVN and Commit
- SVN - folder checkout and merges
- Automatically Compile .Net UserControls
- SVN update not working
- maven-scm-plugin 1.9.4 - too old to work with working copy
- git-svn problems creating tags
- Sonarqube SVN Plugin fails with code E155007 'is not a working copy'
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I don't see why it would be a fad. The concern in VB6 is that there was never a tools update to support it directly, though VB6 SP6 improved support and XP SP2 provided a more complete implementation.
We use it all the time here, though we have found that certain 3rd party controls are not properly written and can't work with it. Lots of the vbAccelerator stuff seems to be "broken" in such a way for example.
It's a rare case we don't deploy using reg-free COM now, even when we wrap it all up in an MSI package. Being isolated from other products' poor installers (the source of much DLL Hell) is a big plus, and Windows is getting better about defending itself in terms of system components which helps a lot in itself.
The trick is finding good tools support. I've never had the patience to work through applying Microsoft's sketchy support via SDK tools but I think others have. There is at least one commercial product for this kind of thing. We use our own tools developed in-house.
Fad? We consider it competitive advantage. It sure makes it easier to produce portable software in VB6 too! Unlike some of the runtime library loading and hacking toolkits we've seen from a German source you don't have to add a lot of fiddley coding to your programs either. Just plain old VB6 programs work fine.
The other thing it enables is per-user deployment, making it easy to create MSI packages that install for a user without elevation rights. We're not primarily about producing stealthware but customers sometimes face some high walls within their organization and this lets them install the products we offer and get on with their jobs. Since we aren't touching the registry or protected filesystem areas the negative feedback from admin types has been almost zero. Windows 7 enhanced this:
Authoring a single package for Per-User or Per-Machine Installation context in Windows 7
The same technique works on Vista though you don't get single-package functionality. Building the applications isolated makes the process even easier.
Of course SxS means a lot more than reg-free COM and isolation, but in VB6 terms that's probably what you were talking about. DotNet uses it, the OS uses it. I'm not sure why it might look lke a "fad." Perhaps many people have gone quiet on the subject through frustration with the tools, a move from VB6 to something else, or because the economy is very competitive right now.