我怎樣才能將文件添加到一個InstallShield部件確定一個相對路徑的InstallShield項目,以使其易於編譯在不同機器上的項目?的InstallShield - 相對文件路徑
回答
您可以使用<path variables>
(see documentation)您的所有文件都指向比較他們。
另見this blog post。
當你添加的文件,你應該嘗試有它是相對的InstallShield項目文件。如果將.ism文件保存在源代碼樹中,那麼您添加的任何可執行文件都應該具有相對於該文件的路徑。
<ISProjectFolder>
是包含安裝盾構工程目錄中的宏。
(有此頁面上的答案要容易得多......)
只是爲了確保人們不會懷疑何時直接編輯項目文件(.isl),您需要使用< and >的轉義符號。實際變量是 <ISProjectFolder> –
謝謝..這是我想要的。 – Abhishek
- 文件內容相對固定的路徑,通過安裝屏蔽限量版的輸出目錄(的Visual Studio 2012) 步驟被複制:
- 展開您安裝在Solution Explorer中的項目,所以你看到的1,2,3,4,5,6部分
- 展開「2」和「文件」 雙擊你會看到一個四分屏頁面:使用「源計算機文件」和「目標計算機文件」
- 刪除硬編碼的路徑和文件從「目標計算機中的文件」
- 單擊頂部左側面板,上有您的文件爲「內容文件」
- 右上方面板將顯示「內容文件的項目從MyProject的」
- 點擊並拖動這個到右下方面板(以下簡稱‘目標計算機中的文件’)
返回到您的項目,並確保你想要複製具有屬性的所有文件: 生成操作=內容 和 複製到直接輸出ORY =複製始終
比編輯項目文件好得多;構建行動=內容是我錯過了。請注意,如果安裝程序包含不需要的文件,請檢查其生成操作是否設置爲「無」。您可以通過右鍵單擊 - >在「MyProject.Content文件」條目中解析項目輸出來查看哪些文件將被複制。 – personne3000
這裏是我的解決方案,如果你的 「源文件」 的磁盤partion不一樣<ISProjectFolder>:
- 打開的InstallShield腳本文件(* .isl)用記事本;
- 知道的預定義變量「<VSSolutionFoler>」,這是你的安裝解決方案文件夾
- 的文件夾替換文件(S)的絕對路徑爲相對路徑「解決方案foler」。即& LT; VSSolutionFolder & GT; .. \ .. \ EXE \釋放\程序myapp.exe
使用InstallShield的自由VS限定版,設置自定義路徑看起來不可能的。因此只需要幾個預定義的路徑選項就可能需要攻擊ISL文件。
以下是預定義的路徑變量我在2013年的快速文檔中發現:(在錯別字的情況下確認)
Predefined Path Variable Value InstallScript Path Variable
--------------------------------------------------------------------------------------------------------------
<ProgramFilesFolder> C:\Program Files\ <PROGRAMFILES>
<CommonFilesFolder> C:\Program Files\Common Files\ <COMMONFILES>
<WindowsFolder> C:\Windows\ <WINDIR>
<SystemFolder> C:\Windows\System32\ <WINSYSDIR>
<ISProjectFolder> C:\InstallShield 2013 Projects\
<ISProjectDataFolder> <ISProjectFolder>\ProjectName <ISPROJECTDIR>
<ISProductFolder> C:\Program Files\InstallShield\2013
<ISRedistPlatformDependentFolder> C:\Program Files\InstallShield\2013\
.\Redist\Language Independent\i386
<ISRedistPlatformDependentExpressFolder> C:\Program Files\InstallShield\2013\
.\Redist\Language Independent\
.\i386 Express
我的VS解決方案包括一個Outlook外接程序和一個InstallShield LE安裝項目。雖然InstallShield包含AddIn生成的輸出和相關程序集,但是不包括清單文件和vsto文件。所以我需要分別指定這些。這適用於一個工作站;然而,共享該解決方案的另一臺工作站具有不同的源目錄結構,導致未解決的問題。
清單和vsto文件由InstallShield添加了絕對路徑。所有工作站通用的符號鏈接可能已經解決了這個問題,但我決定破解ISL文件以查看是否可以使用相對路徑實現ISL文件將來可能需要維護盜版。
爲了獲得共同的父目錄(即我的情況下解決方案目錄,)我指定的ISL在<表名稱列出的特殊器物以下兩個父選擇(.. \ ..)= 「文件」>。
...<td><ISPROJECTDIR>..\..\MyProject\bin\Release\...
其中HTML實體被用於周圍低於/大於所述<ISPROJECTDIR>變量的符號。
我跑使用代替<ISPROJECTDIR>的<ISPROJECTFOLDER>可變的第二測試(其應該是第一)。在這個測試中,只有一位家長選擇是必要的:
...<td><ISPROJECTFOLDER>..\MyProject\bin\Release\...
到目前爲止,事情似乎被正確解析,但是你相對可能會有所不同。
這是我找到的最佳解決方案,尤其是當您添加不屬於該項目的文件時。我正在使用相關變量
- 1. InstallShield LE - 文件的相對路徑
- 2. 的InstallShield:使用LaunchAppAndWait()與相對路徑
- 3. 相對路徑文件
- 4. 相對路徑文件
- 5. Codeigniter相對路徑文件
- 6. Java文件相對路徑
- 7. 相對文件路徑
- 8. Java相對文件路徑
- 9. 相對URL的絕對文件路徑
- 10. DocFX'src'文件夾的相對路徑
- 11. 獲取文件的相對路徑?
- 12. 資源文件的相對路徑?
- 13. std文件流的相對路徑
- 14. iphone:本地文件的相對路徑?
- 15. PHP - 文件夾的相對路徑?
- 16. WiX源文件的相對路徑
- 17. CSS文件的相對路徑?
- 18. perl中的相對文件路徑
- 19. 獲取文件的相對路徑C#
- 20. Python包中的相對文件路徑
- 21. log4j的相對文件路徑
- 22. RSpec中的相對文件路徑
- 23. 獲取文件的相對路徑asp.net
- 24. UWP從絕對路徑或相對路徑解析文件夾
- 25. 解決不存在的文件的類路徑相對路徑
- 26. 構建相對路徑中的兩個文件路徑
- 27. 獲取文件路徑的相對路徑?
- 28. 如何從QDir和相對文件路徑創建絕對文件路徑?
- 29. Javascript路徑相對於文件
- 30. 指定相對文件路徑
請參閱下面@bvj提供的答案,該答案應被標記爲完整性的正確答案。 –
@Dror它可以與InstallShield限量版一起使用嗎? – Eldho
@埃爾霍,不知道 - 檢查這個問題:http://stackoverflow.com/questions/15390098/installshield-le-relative-paths-to-file – Dror