Wix:如何从客户端属性获取分辨率屏幕?

时间:2015-09-07 13:29:52

标签: wix windows-installer

我有这些属性:

Property(S) ScreenX = 1024
Property(S) ScreenY = 768
Property(C) ScreenX = 1920
Property(C) ScreenY = 1080

例如,如果我使用ScreenX属性,则只获取属性(S)的ScreenX值。

我想得到属性(C)的ScreenX值 - >客户端。

有可能吗?

1 个答案:

答案 0 :(得分:0)

ScreenX propertyScreenY property在SDK中的doco非常少。据推测,MSFT认为没有什么可说的。正如您从日志中看到的那样,客户端"(c)" msiexec进程有1920x1080,但服务器端"(s)"看到1024x768。这似乎开始发生在Vista中,但MSDN doco再也没有解决它。然后是多个监视器的场景,它根本无法表达。

Some people使用ScreenX / Y并将其分配给安全的自定义公共属性,然后在执行序列(服务器端)期间使用它。在静默安装期间,这不会起作用。我想自定义操作可以查询API(可能是一个wmi类)以获取有关系统中存在的显示适配器的更多信息。

我的问题不过是:为什么要打扰?

分辨率检查最好在应用程序中完成,因为在安装完成后可以更改分辨率,并且因为它在应用程序代码中更容易完成。