2011-10-17 153 views
4

我有一個非常基本的InstallShield安裝程序。它將一堆瓷磚放到TARGETDIR上。如果我將目標目錄指定爲幾乎任何目錄,那麼這就是文件被刪除的位置。 (例如,如果我指定C:\ temp,這就是文件出現的位置)。當選擇Program Files(64位)時,InstallShield 2010安裝到Program Files(x86)

奇怪的是,如果我在「Program Files(x86)」下指定子目錄作爲目標目錄,則文件將安裝到「程序文件」。我(顯然)在64位機器上。

這是InstallShield中的錯誤嗎?有沒有解決這個問題的方法?我知道我的客戶(安裝程序的使用者)是否必須將其安裝到程序文件或特定於x86的程序文件(它應該放入現有應用程序的目錄中)。

理想情況下,在客戶端機器上有一個註冊表項,指示在哪裏安裝我的東西;如果我可以利用這一點,那正是我想要做的。

+0

您的安裝程序是32位還是64位? –

+0

@CosminPirvu 64位 – ashes999

回答

5

事實證明,我的組件設置爲安裝到ProgramFiles。我需要更改它們以安裝到ProgramFiles64。要做到這一點:

  • 轉到您的組件視圖(安裝設計)
  • 單擊每個組件一個由一個
  • General,尋找64-Bit Component並將其更改爲Yes

那解決它。

0

通常64位軟件包使用64位位置。因此,即使您以某種方式設法在「Program Files(x86)」中安裝了64位軟件包,也是不正確且不合邏輯的。

在64位機器上64位產品使用「程序文件」,32位產品使用「程序文件(x86)」。你可以閱讀更多關於此這裏:

所以,如果你想安裝在 「程序文件(x86)」,你可以使用一個32位的包。

關於您的實際問題,很可能InstallShield或Windows將您的應用程序文件重定向到正確的位置。

相關問題