How can I include KB2670838 in an installer with InstallShield 2013?

前端 未结 5 1685
轮回少年
轮回少年 2021-01-14 06:54

I\'m using InstallShield 2013 to make a Basic MSI installer for an application that requires Windows Platform Update KB2670838.

For .NET frameworks and other require

5条回答
  •  无人及你
    2021-01-14 07:27

    The Add/Remove programs list in the registry could help you get a rough idea of what's installed:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

    It seems this doesn't provide a full list of what is installed though: http://social.technet.microsoft.com/Forums/windows/en-US/d913471a-d7fb-448d-869b-da9025dcc943/where-does-addremove-programs-get-its-information-from-in-the-registry?forum=w7itprogeneral

    Another way may be to use the file information from the knowledge base article: http://support.microsoft.com/kb/2670838/en (For More Information : File Information) and use WIX / MSI's AppSearch / LaunchCondition feature. That should do the trick, though I find the syntax a bit counterintuitive.

    Another approach is to write a custom action and combine these two sources (add /remove entry and file info). Such a custom action will make no changes to the system, and is hence less problematic than other custom actions that cause rollback-problems. I find it easier to test and maintain a custom action in case there are further prerequisites that are needed at some point. This is a matter of taste though. I just find it easier to run a prerequisite script against a selection of files to test that it identifies them correctly and run through as expected than to keep running the MSI file for every test.

    Here is a similar question with some pointers from superuser.com: https://superuser.com/questions/521175/determine-if-windows-hotfix-has-been-applied

    And another link to serverfault.com (system administration site). Nice approach using PowerShell which can certainly be migrated to a custom action: https://serverfault.com/questions/312778/determine-if-user-has-hotfix-981889-installed

    Even more serverfault.com stuff involving update.exe, WMI and a Powershell script to view all installed hotfixes: https://serverfault.com/questions/263847/how-can-i-query-my-system-via-command-line-to-see-if-a-kb-patch-is-installed . Recommended read. Microsoft: http://technet.microsoft.com/en-us/library/hh849836.aspx

    PSInfo appears to be able to show installed hotfixes: http://technet.microsoft.com/en-us/sysinternals/bb897550

提交回复
热议问题