作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用 Inno 设置替换 VS 设置。请检查是否安装了旧版本,我找到了“MsiQueryProductState”方法。
我发现了几个看起来像这样的例子:
function MsiQueryProductState(ProductCode: string): integer;
external 'MsiQueryProductStateA@msi.dll stdcall';
function MsiConfigureProduct(ProductCode: string;
iInstallLevel: integer; eInstallState: integer): integer;
external 'MsiConfigureProductA@msi.dll stdcall';
const
INSTALLSTATE_DEFAULT = 5;
INSTALLLEVEL_MAXIMUM = $ffff;
INSTALLSTATE_ABSENT = 2;
最佳答案
问题是 InnoSetup 的 Unicode 版本与函数原型(prototype)的 ANSI 版本混合。替换 MsiQueryProductStateA
就足够了与 MsiQueryProductStateW
.
如果您使用这个有条件定义的脚本,InnoSetup 编译预处理器将根据您何时使用 ANSI 或 Unicode InnoSetup 为函数(Unicode 或 ANSI)找到正确的版本。
[Code]
#IFDEF UNICODE
#DEFINE AW "W"
#ELSE
#DEFINE AW "A"
#ENDIF
function MsiQueryProductState(ProductCode: string): integer;
external 'MsiQueryProductState{#AW}@msi.dll stdcall';
function MsiConfigureProduct(ProductCode: string;
iInstallLevel: integer; eInstallState: integer): integer;
external 'MsiConfigureProduct{#AW}@msi.dll stdcall';
关于windows-installer - InnoSetup MsiQueryProductState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7683990/
我想用 Inno 设置替换 VS 设置。请检查是否安装了旧版本,我找到了“MsiQueryProductState”方法。 我发现了几个看起来像这样的例子: function MsiQueryProd
我是一名优秀的程序员,十分优秀!