Где я могу найти самый последний установщик IIS Express 10? - PullRequest
0 голосов
/ 06 ноября 2019

Наш установщик устанавливает IIS Express для запуска облегченного веб-сервера для нашего клиентского приложения, и недавно мы увидели всплывающее предупреждение во время установки на некоторых компьютерах, говорящее, что «более новая версия IIS Express уже установлена».

Тот, который мы включили в наш установщик, является установщиком, который мы можем найти на сайте загрузки Microsoft здесь: https://www.microsoft.com/en-us/download/details.aspx?id=48264 Эта версия отображается как версия 10.0.1741.

На моем (разработчик)) машина, когда я получил предупреждение, у меня была установлена ​​версия 10.0.1743 (у меня VS2015 CE и VS2017 CE на этой машине). У коллеги была установлена ​​версия 10.0.03203 (на его машине установлены VS2015 CE, VS2017 CE и VS2019 CE).

Итак: кто-нибудь знает, где я могу найти последнюю версию установщика IIS Express (я думаю, 10.0. 03203) чтобы я мог включить его в наш установщик?

ОБНОВЛЕНИЕ (20191107) Согласно предложению Лекса Ли, приведенного ниже в комментариях, я действительно мог бы просто проверить, установлен ли IIS Express. Ниже приведен текущий код, который мы используем в нашем установщике InnoSetup, но он все еще устанавливается и показывает предупреждение о наличии более новой версии (поскольку, скорее всего, он проверяет только определенную версию). Есть ли способ проверить, является ли версия чем-то> = 10, а также?

#IFDEF UNICODE
  #DEFINE AW "W"
#ELSE
  #DEFINE AW "A"
#ENDIF

type
  INSTALLSTATE = Longint;

const
  INSTALLSTATE_INVALIDARG = -2;  // An invalid parameter was passed to the function.
  INSTALLSTATE_UNKNOWN = -1;     // The product is neither advertised or installed.
  INSTALLSTATE_ADVERTISED = 1;   // The product is advertised but not installed.
  INSTALLSTATE_ABSENT = 2;       // The product is installed for a different user.
  INSTALLSTATE_DEFAULT = 5;      // The product is installed for the current user.

  IIS_EXPRESS_10_x64 = '{63E2B575-D6F7-4572-8EA9-3DAC4208AA2A}'; // IIS 10.0 Express

// Checks the install state of a product (given the product ID)
function MsiQueryProductState(szProduct: String): INSTALLSTATE;
external 'MsiQueryProductState{#AW}@msi.dll stdcall';

// Checks if IIS Express is NOT installed (true if NOT installed)
function IISExpressIsNotInstalled: Boolean;
begin
    Result := not (MsiQueryProductState(IIS_EXPRESS_10_x64) = INSTALLSTATE_DEFAULT);
end;
...