爲響應rishiJasapara的評論,我根據以前的回答讓腳本。
這個想法是一樣的,創建兩個腳本,一個用於x86,另一個用於x64平臺。 您必須在InstallShield項目中選擇兩個先決條件,但在目標機器上的安裝頁面中列出下面的腳本,您將看到唯一對應於機器處理器體系結構的一個。
微軟SQL CE 4.0 x86.prq:
<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0\ENU" FileName="DesktopRuntimeVersion" ReturnValue="4.0.8482.1"></condition>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition CSDVersion="" Bits="1"></operatingsystemcondition>
</operatingsystemconditions>
<files>
<file LocalFile=".\SSCERuntime_x86-ENU.exe" URL="http://download.microsoft.com/download/0/5/D/05DCCDB5-57E0-4314-A016-874F228A8FAD/SSCERuntime_x86-ENU.exe" CheckSum="0A55733CF406FBD05DFCFF5A27A0B4F7" FileSize="0,2379544"></file>
</files>
<execute file="SSCERuntime_x86-ENU.exe"></execute>
<properties Id="{2754916B-119B-4428-9F94-DC9E45072CCC}"></properties>
<behavior Failure="4" Reboot="2"></behavior>
</SetupPrereq>
微軟SQL CE 4.0 x64.prq:
<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0\ENU" FileName="DesktopRuntimeVersion" ReturnValue="4.0.8482.1"></condition>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition CSDVersion="" Bits="2"></operatingsystemcondition>
</operatingsystemconditions>
<files>
<file LocalFile=".\SSCERuntime_x64-ENU.exe" URL="http://download.microsoft.com/download/0/5/D/05DCCDB5-57E0-4314-A016-874F228A8FAD/SSCERuntime_x64-ENU.exe" CheckSum="A417082ECAEDD95AFB41F73DC140C350" FileSize="0,2621240"></file>
</files>
<execute file="SSCERuntime_x64-ENU.exe"></execute>
<properties Id="{7CB7BE3C-614A-403F-94D9-5652285A3EDF}"></properties>
<behavior Failure="4" Reboot="2"></behavior>
</SetupPrereq>
正如你所看到的,主要區別是在至極正確的額外的 「operatingsystemconditions」 SQL CE安裝包已確定。
我在Windows 7 32位和64位系統上測試過它,它實際上工作正常。
您可能還想考慮SQL CE提供的私有部署選項。正如我記得(記錄在我的某個地方的回答中),這是一些DLL和App.Config中的一些設置。這使您可以在單個MSI中完成所有任務而無需鏈接其他MSI。 – 2012-02-13 02:43:01
我看着私人部署,它看起來太多了。很多做錯事的可能性。我最終刪除了cmdline選項,安裝程序啓動了CE安裝提示符,因此它可以很好地工作。 – Beanwah 2012-02-15 18:40:29
它實際上工作得很好。事實上,在過去的幾天裏,我在這裏看到了一個新的問答,這個人說他們進行了私人部署,而且這非常簡單,而且工作得很好。無論哪種方式,選擇是你的。 – 2012-02-15 19:03:14