best practice for releasing Microsoft dll's in setup

安稳与你 提交于 2019-12-20 03:33:26

问题


I'm working on a setup which wants to include the Microsoft.Web.Services3 (WSE 3.0) DLL. However, I typically do not like including Microsoft DLL's in our installs except by way of Microsoft's redistributables. There is both a developer and a redist install package available from Microsoft.

So, as a best practice, should I include the single DLL in my install or refer them to one of the WSE 3.0 installs (assuming they do not already have it installed)?


回答1:


Usually, redistributing any of Microsoft DLLs outside of the redistributable package is forbidden by their EULA, so you might first want to check the appropriate EULA for that DLL.

Generally, I would prefer the redist package since that makes sure that it's correctly "registered" into the system, i.e. if you install a newer version of the redist it gets updated (like DirectX) or not overwritten if it's an older version (also like DirectX).




回答2:


Check in the installer if WSE 3.0 is installed and if it isn't alert the person and cancel the install, if it is continue normally. I wouldn't include the DLL in your setup package, because it could get out dated pretty fast, and I don't know if the EULA will allow it.




回答3:


I believe the MS EULA prevents you from redistributing MS code, unless its in a redistributable package.

A proper redistributable should handle any other prerequisites, so its probably the better choice anyways.




回答4:


If you don't include it you should at the very least link to it directly on your site or have your installer open the web browser to it (or even download it automatically). Or better yet, include the redistributable in your software package.

However, if the DLL is not very large and you suspect that few users will have it, in the interest of a better user I would prepackage it in the default installer. However, you can always have an installer that does not include it for those who want a smaller installer... a great deal of other vendors do this all the time.




回答5:


Thanks for the suggestions/comments! After wrestling with windows installer setup I figured out the best way to include the WSE30 redist and pop up a dialog if it is not installed.

I'm aware of it not being best practice (and against Microsoft's EULA as mentioned) to simply include the DLL, which is why I thought it strange that it was trying to include the WSE DLL outside of the redist, especially when the redist is registered with the installer (it shows up as a pre-req under properties).

Thanks again.



来源:https://stackoverflow.com/questions/17825/best-practice-for-releasing-microsoft-dlls-in-setup

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!