Всем привет,
Есть инсталлер msi, в котором используются custom actions для установки драйвера. Везде работает только не на Windows 7 x64. Причем если эту же команду по установки драйвера выполнять через командную строку, разумеется из под админа, то драйвер устанавливается без проблем. Код, который выполняется в custom action работает из под local system account, даже если установщик запускали из под админа. Видимо в этом и есть проблема.
Писать отдельное приложение, которое сначала будет ставить драйвер, а потом запускать msi, не очень подходит, потому что msi планируется разворачивать с админской машины на кучу компов в сети.
Как бы решить проблему?
Здравствуйте, ZmeyNet, Вы писали:
ZN>Драйвер подписан ?
конечно,
команда установки драйвера "rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132 filepath.inf" отлично выполняется из консольного exe-шника, если его запускать из под админа, однако не выполняется если консольный exe-шник запускать просто двойным щелчком.
Никто не сталкивался, как в msi получить права админа?
Здравствуйте, debugx, Вы писали:
D>Всем привет, D>Есть инсталлер msi, в котором используются custom actions для установки драйвера. Везде работает только не на Windows 7 x64. Причем если эту же команду по установки драйвера выполнять через командную строку, разумеется из под админа, то драйвер устанавливается без проблем. Код, который выполняется в custom action работает из под local system account, даже если установщик запускали из под админа. Видимо в этом и есть проблема.
Что именно не работает под 7-64 ?
Драйвер, надеюсь, 64-битный ?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, debugx, Вы писали:
D>>Всем привет, D>>Есть инсталлер msi, в котором используются custom actions для установки драйвера. Везде работает только не на Windows 7 x64. Причем если эту же команду по установки драйвера выполнять через командную строку, разумеется из под админа, то драйвер устанавливается без проблем. Код, который выполняется в custom action работает из под local system account, даже если установщик запускали из под админа. Видимо в этом и есть проблема.
PD>Что именно не работает под 7-64 ? PD>Драйвер, надеюсь, 64-битный ?
в предыдущем посте есть ответ на этот вопрос, с дравером всё ок, из командной строки он ставится
Здравствуйте, debugx, Вы писали:
D>Всем привет, D>Есть инсталлер msi, в котором используются custom actions для установки драйвера. Везде работает только не на Windows 7 x64. Причем если эту же команду по установки драйвера выполнять через командную строку, разумеется из под админа, то драйвер устанавливается без проблем. Код, который выполняется в custom action работает из под local system account, даже если установщик запускали из под админа. Видимо в этом и есть проблема. D>Писать отдельное приложение, которое сначала будет ставить драйвер, а потом запускать msi, не очень подходит, потому что msi планируется разворачивать с админской машины на кучу компов в сети. D>Как бы решить проблему?
Так выполнять custom action можно же от имени юзера.
В WIX это вообще в два счета делается.
Здравствуйте, okman, Вы писали:
O>Здравствуйте, debugx, Вы писали:
D>>Всем привет, D>>Есть инсталлер msi, в котором используются custom actions для установки драйвера. Везде работает только не на Windows 7 x64. Причем если эту же команду по установки драйвера выполнять через командную строку, разумеется из под админа, то драйвер устанавливается без проблем. Код, который выполняется в custom action работает из под local system account, даже если установщик запускали из под админа. Видимо в этом и есть проблема. D>>Писать отдельное приложение, которое сначала будет ставить драйвер, а потом запускать msi, не очень подходит, потому что msi планируется разворачивать с админской машины на кучу компов в сети. D>>Как бы решить проблему?
O>Так выполнять custom action можно же от имени юзера. O>В WIX это вообще в два счета делается.
Это каким образом можно выполнять custom action в msi то имени пользователя? А не от system.
Здравствуйте, debugx.
Вы писали:
D>Это каким образом можно выполнять custom action в msi то имени пользователя? А не от system.
В WIX примерно так:
<CustomAction ... Impersonate="yes" ... />
WIX Help:
This attribute specifies whether the Windows Installer, which executes as LocalSystem,
should impersonate the user context of the installing user when executing this custom action.
Typically the value should be 'yes', except when the custom action needs elevated privileges to
apply changes to the machine.