2016-01-10 149 views
1

我需要在Windows 10安裝Microsoft SQL Server 2000桌面引擎(MSDE 2000)在Windows 10(64)發佈A

安裝窗口彈出,然後立即關閉安裝MSDE 2000 Release A沒有錯誤消息。

answer to this SO question似乎解決一個非常類似的問題,並表示它其實可能install and run MS SQL Server 2000 on Windows 10。我知道那個問題是關於SQL Server 2000而不是MSDE的,但我希望如果它適用於SQL Server 2000,它也將應用於Desktop Engine變體。

任何關於什麼可能會殺死安裝程序的想法和/或我可以如何解決這個問題?

  • 我已經嘗試設置安裝程序的WinXP SP2的兼容性模式和管理權限的

  • 我還沒試過先安裝Win 7上運行,然後MSDE,然後再升級到10場,並會非常喜歡直接安裝在Win 10

+1

您是否考慮過具有支持該版本的操作系統的虛擬機? –

+0

是的,生產系統當前運行在WinXP SP2 Hyper-V虛擬機上。 – Zalumon

回答

1

我已經找到了解決辦法...

我發現它是提取幾個d在安裝期間lls到臨時文件夾,MSI日誌抱怨加載其中一個。沒有任何依賴加載問題,因此我嘗試將它們全部複製到C:\ Windows \ SysWow64,但其中一個(sqlunirl.dll)訪問被拒絕,因爲它是操作系統的一部分。如果我更改了該dll的所有者和權限,則可以將其替換爲解壓縮的那個,安裝MSDE,然後將其替換爲原始的Win10。然而,SQL服務管理器應用程序然後拒絕啓動,但由於exes總是先在他們自己的文件夾中查找dll,請將相同的dll放在C:\ Program Files文件(x86)\ Microsoft SQL Server \ 80 \ Tools \ Binn中。以防萬一,我也將它複製到其他可執行文件夾中。我沒有測試了這一點,不過也敲了一個快速批處理文件來安裝(把它旁邊的Setup.exe隨着從的Sqlunirl.dll臨時文件夾搶下從先前安裝嘗試):

takeown /f C:\Windows\SysWOW64\sqlunirl.dll /a 
icacls C:\Windows\SysWOW64\sqlunirl.dll /grant *S-1-5-32-544:f 
IF NOT EXIST C:\Windows\SysWOW64\sqlunirl.bak move C:\Windows\SysWOW64\sqlunirl.dll C:\Windows\SysWOW64\sqlunirl.bak 
copy /y "%~dp0sqlunirl.dll" C:\Windows\SysWOW64 

"%~dp0Setup.exe" (plus your extra parameters such as SAPWD=PASSWORD) 

move /y C:\Windows\SysWOW64\sqlunirl.dll "C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn" 
copy /y C:\Windows\SysWOW64\sqlunirl.dll "C:\Program Files (x86)\Microsoft SQL Server\80\COM" 
copy /y C:\Windows\SysWOW64\sqlunirl.dll "C:\Program Files (x86)\Microsoft SQL Server\Mssql$InstanceName\BinnMSSQL$InstanceName\Binn" 
move /y C:\Windows\SysWOW64\sqlunirl.bak C:\Windows\SysWOW64\sqlunirl.dll 
icacls C:\Windows\SysWOW64\sqlunirl.dll /remove *S-1-5-32-544 
icacls C:\Windows\SysWOW64\sqlunirl.dll /grant *S-1-5-32-544:(GR,GE,WO) 
icacls C:\Windows\SysWOW64\sqlunirl.dll /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 

(注意:SID用於管理員組和TrustedInstaller,因此它可以用於任何語言。一般讀取和一般執行權限是管理員組的默認權限,但我也應用寫入所有者,以便我可以將其設置回TrustedInstaller因爲我找不到使用TakeOwn.exe設置它的方法!)

+0

哇,謝謝。不知道/想想MSI日誌。我不再需要MSDE,但調試方式在未來可能會有用。 – Zalumon

+0

我只是想接受你的答案,儘管我沒有自己嘗試過。 – Zalumon