How to add new framework version in Installment Requirement page of InstallShield?

梦想的初衷 提交于 2019-12-17 14:58:06

问题


As you see from Project Assistant->Installment Requirement screenshot of InstallShield, It is showing only till .NET Framework 4.6 in the list.

How do I add other frameworks like 4.7 and above?


回答1:


You will have to create your own custom prerequisite. Just look at all the settings for 4.6, copy them to the new prerequisite and modify accordingly (e.g. registry entries, file paths etc.) to reflect the new version. To verify registry entries and file paths, you will need to have .NET 4.7 installed on a test system. Hopefully this helps.




回答2:


It looks like higher versions of the .NET framework has not been added yet - even in the latest version Installshield 2018.

Essentially this menu choice looks like it just adds a registry search and a launch condition. This you can create yourself. The following MSDN article describes how to detect versions of the .NET framework: .NET Framework deployment guide for developers.

Here is a quick mock-up:

In the RegLocator table, add this row:

DotNet471Full, 2, SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full, Release, 2

This will target the 32-bit section of the registry on a 64-bit machine. This is how Installshield sets up the check for the previous versions of the framework, so I use that.

In the AppSearch table, add this row:

DOTNETVERSION471FULL, DotNet471Full

In the LaunchCondition table, add this row (see note below on the default Installshield condition - I have extended it here to alleviate some potential problems):

Installed OR DOTNETVERSION471FULL>="#461308", Microsoft .NET Framework 4.7.1 Full package or greater needs to be installed for this installation to continue.

This should show a message notifying the user about the missing pre-requisite .NET framework. However, is it really necessary to check for the latest version? Doesn't it all target the same CLR (version 4)?


A note on testing: Please test thoroughly yourself - in all installation modes (install, uninstall, repair, modify, patch, upgrade). I am not set up for proper testing.

As an example, Installshield's default launch condition of DOTNETVERSION20="#1" - for the .NET framework version 2 - would seem to trigger an un-uninstallable package if the dot net version in question is ever uninstalled (I assume the registry key will be missing then, but I didn't have the time to actually test). Adding Installed as an OR-condition - like WiX does it - seems to alleviate the problem.




回答3:


The newer prerequisites are now available as an update to InstallShield 2018. Goto Tools -> Check For Updates to get them



来源:https://stackoverflow.com/questions/48987329/how-to-add-new-framework-version-in-installment-requirement-page-of-installshiel

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