![](/img/trans.png)
[英]Check if Access Database Engine 2010 Redistributable is installed via WiX
[英]NSIS installer access engine check if installed
我正在使用NSIS安裝程序,在安裝過程中,我需要安裝Access數據庫引擎。 這部分我正在工作。
我似乎無法弄清楚該怎么做的是檢查是否已經安裝了Access數據庫引擎(32或64位)-我不知道NSIS是否可以這樣做? 有人知道嗎?
用於訪問數據庫引擎的NSIS腳本當前正在執行此操作:-
${If} ${RunningX64}
HideWindow
File "access64.exe"
ExecWait "$INSTDIR\access64.exe"
BringToFront
${Else}
HideWindow
File "access32.exe"
ExecWait "$INSTDIR\access32.exe"
BringToFront
${EndIf}
NSIS可以檢查某些文件和/或注冊表值的存在。
在Stackoverflow上已經有許多有關訪問檢測的問題,您應該看看那些問題,看看應該查詢哪些注冊表項。 查找哪個鍵實際上取決於您是否關心特定版本或Access的任何版本是否可接受。
您還可以詢問Windows shell有關Access ProgId的信息:
!include LogicLib.nsh
Section
System::Call 'SHLWAPI::AssocQueryString(i0x00000540,i4,t"Access.Application",p0,t.r1,*i${NSIS_MAX_STRLEN})i.r0'
${If} $0 = 0
DetailPrint "Registered application friendly name: $1"
${EndIf}
System::Call 'SHLWAPI::AssocQueryString(i0x00000540,i2,t"Access.Application",p0,t.r1,*i${NSIS_MAX_STRLEN})i.r0'
${If} $0 = 0
DetailPrint "EXE: $1"
; Call GetDLLVersion etc. if needed
${EndIf}
SectionEnd
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.