![](/img/trans.png)
[英]NSIS Guidance: Customer issues with various UAC scenarios with my installer and program
[英]Unicode NSIS Installer and UAC plugin: how exchange data between Inner and Outer Instances
我想在用戶級別下安裝MSI軟件包,並在HKLM下設置幾個注冊表項。 第二個需要管理員級別,我可以使用NSIS :: UAC插件來完成。 但是,我需要一種方法來通知InnerInstance(具有管理員級別的特權)有關用戶選擇了哪些復選框的信息。 有以下幾種方式可以交換此類信息(僅1或0)
沒有成功,APPDATA不同,COMMONAPPDATA需要管理員級別,TMP也不可選,因為它取決於配置文件名稱
沒有成功,變量不存在。 順便說一句,即使我運行簡單的控制台,設置變量並運行其他控制台-我也沒有看到變量
假設它對於簡單的安裝問題來說太復雜了,但是如果沒有其他可用的選項,它將選擇它
!macro _SyncVariable _variable!define Lprefix L $ { LINE } push $ R0轉到_SyncVariableInner $ {Lprefix} _SyncVariableOuter $ {Lprefix}:StrCpy $ R0 $ {_ variable}返回_SyncVariableInner $ {Lprefix}:__ Insertmacro UAC $ {UAC_SYNCREGISTERS} StrCpy $ {_ variable} $ R0!undef Lprefix pop $ R0!macroend!define SyncVariable !insertmacro _SyncVariable
它應該可以工作,但是沒有
那么,有人可以通過鏈接,想法幫助我嗎?
沒有NSIS的正式Unicode構建,沒有分叉的項目,但此配置不支持UAC插件,因此不為其提供編譯的DLL(如果您在NSIS中提出要求,則可能可以獲得編譯的版本IRC頻道)。
這種混合安裝程序很難正確安裝,恕不應恕我直言。 如果使用訪問控制插件為所有用戶提供對$windir\\temp\\{yourguid}
或HKLM\\Software\\{yourguid}
寫訪問權限,則您可以交換信息,但這也是潛在的安全漏洞。 命名全局內核對象(信號量,內存映射等)也存在相同的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.