2013-07-25 55 views
3

我正在編寫Inno安裝腳本,我需要在快捷方式目標中創建一個設置環境變量的快捷方式。目標字符串是一樣的東西:在快捷方式目標中設置環境變量

cmd.exe /c set ENV_VAR=%CD% && "C:\Program Files\MyApp\MyApp.exe" 

但出於某種原因,我不能FANTOM快捷,從未創建。我檢查了目標字符串的長度:162個字符,這似乎低於Windows(?)限制。如果我使用不帶「... & &」前綴的目標字符串創建快捷方式,然後手動添加該快捷方式,則它會按預期工作。任何幫助表示讚賞。

+0

您預期作爲ENV_VAR的最終值是什麼? – Gangadhar

+0

包含快捷方式的目錄。 –

+1

發佈您的[圖標]條目。很可能你沒有正確分離文件名和參數,但很難說沒有看到它。 – Miral

回答

0

如果你想使用Inno Setup的作爲%CD%和 「C:\ Program Files文件\ MyApp的\ MyApp.exe的」 設置ENV_VAR
可以使用;像下面

C:\ Program Files文件; C:\ WINNT; C:\ WINNT \ SYSTEM32

這可能幫助你

set ENV_VAR=%CD%;C:\Program Files\MyApp\MyApp.exe 

我用

set ENV_VAR=%PATH%;C:\program files 

檢查後列出所有,我發現

ENV_VAR=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Linux For Windows\bin;C:\Program Files (x86)\Universal Extractor;C:\Program Files (x86)\Universal Extractor\bin;C:\Program Files (x86)\Calibre2\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Subversion\bin;C:\Program Files (x86)\WinMerge;C:\Program Files 

上面的環境變量長度是390個字符,所以我相信你的情況下長度沒問題。

+1

快捷方式「目標」字段中的「&&」連接兩個命令。環境變量只能設置爲'%CD%'。 –

+0

**設置ENV_VAR =%CD%**就夠了,在此之前您需要使用** set CD = xxxxxxxxx **設置CD值。如果我們使用cmd.exe,則不會創建環境變量。 **設置ENV_VAR =%CD%&&「C:\ Program Files \ MyApp \ MyApp.exe」**這將設置ENV_VAR = CD的值,然後執行** MyApp.exe ** – Gangadhar

+0

僅使用'set'不起作用,因爲此命令僅在shell中有效。快捷方式中的「目標」字段需要執行命令。 –