gpt4 book ai didi

inno-setup - 创新设置 : detect installation based on product code

转载 作者:行者123 更新时间:2023-12-03 20:28:14 24 4
gpt4 key购买 nike

我想实现类似于 Inno setup - skip installation if other program is not installed 的东西

但我确实有 msiexec 产品代码(如 D3AA40C4-9BFB-4640-88CE-EDC93A3703CC)。那么如何根据这个产品代码检测是否安装了其他程序呢?

最佳答案

MsiQueryProductState为此功能。这是它的导入,带有用于您的任务的辅助函数:

[Code]
#IFDEF UNICODE
#DEFINE AW "W"
#ELSE
#DEFINE AW "A"
#ENDIF
type
INSTALLSTATE = Longint;
const
INSTALLSTATE_DEFAULT = 5;

function MsiQueryProductState(szProduct: string): INSTALLSTATE;
external 'MsiQueryProductState{#AW}@msi.dll stdcall';

function IsProductInstalled(const ProductID: string): Boolean;
begin
Result := MsiQueryProductState(ProductID) = INSTALLSTATE_DEFAULT;
end;

及其可能的用法:

if IsProductInstalled('{D3AA40C4-9BFB-4640-88CE-EDC93A3703CC}') then
MsgBox('The product is installed.', mbInformation, MB_OK);

关于inno-setup - 创新设置 : detect installation based on product code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30892692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com