我正在使用WIX構建將作爲常規用戶執行但具有系統特權(AlwaysInstallElevated = 1)的MSI。我定義了兩個執行net.exe的自定義操作。
net.exe命令不會像常規用戶那樣執行。我還測試了以管理員身份執行此msi並且net.exe命令正在執行。
我已經記錄了msi輸出,並且看到了導致我相信net.exe命令沒有被執行的錯誤代碼。我深入到社區,看是否作爲系統執行wix msi自定義操作
- 我試圖做的是可能
- 我是否需要改用exe文件作爲自定義操作,以便將EXE安裝升高。
在此先感謝您的反饋意見。
<CustomAction Directory="TARGETDIR" ExeCommand="[SystemFolder]net.exe user TestUser /add" Return="ignore" Execute="deferred" HideTarget="no" Impersonate="no" Id="Command1">Command1</CustomAction>
<CustomAction Directory="TARGETDIR" ExeCommand="[SystemFolder]net.exe localgroup Administrators TestUser /add" Return="ignore" Execute="deferred" HideTarget="no" Impersonate="no" Id="Command2">Command2</CustomAction>
<InstallExecuteSequence>
<Custom Action="Command1" After="PublishProduct">NOT Installed</Custom>
<Custom Action="Command2" After="Command1">NOT Installed</Custom>
</InstallExecuteSequence>
機器策略和用戶策略允許msis作爲系統執行。
MSI (c) (DC:F8) [09:17:39:438]: Machine policy value 'AlwaysInstallElevated' is 1
MSI (c) (DC:F8) [09:17:39:438]: User policy value 'AlwaysInstallElevated' is 1
MSI (c) (DC:F8) [09:17:39:438]: Running product '{34ED8E61-40EA-47CE-95E7-8EE3CDBCB1E8}' with elevated privileges: All apps run elevated.
錯誤
MSI (s) (8C:8C) [20:39:18:989]: Executing op: ActionStart(Name=Command1,,)
MSI (s) (8C:8C) [20:39:18:989]: Executing op: CustomActionSchedule(Action=Command1,ActionType=3170,Source=C:\,Target=C:\WINDOWS\SysWOW64\net.exe user TestUser /add,)
CustomAction Command1 returned actual error code 2 but will be translated to success due to continue marking
MSI (s) (8C:8C) [20:39:19:535]: Executing op: ActionStart(Name=Command2,,)
MSI (s) (8C:8C) [20:39:19:535]: Executing op: CustomActionSchedule(Action=Command2,ActionType=3170,Source=C:\,Target=C:\WINDOWS\SysWOW64\net.exe localgroup Administrators TestUser /add,)
CustomAction Command2 returned actual error code 1 but will be translated to success due to continue marking
菲爾,這些結果對我來說沒有意義。我認爲CA被設置爲延期並且冒充爲「否」。一定還有其他的錯誤。無論哪種情況,他都應該切換到WiX的內置功能。 –
斯坦因,這篇文章建議(在第2點)改變自定義操作來運行他們模仿和提升,因爲他們不工作。我的回答只是說我沒有理由不按規定工作,因此問題可能不僅僅是提升要求。所以我同意你的看法,因爲這就是我所說的,但也許我錯過了你評論的地方。 – PhilDW