2012-05-09 42 views
3

我想創建一個調用兩個文件的快捷方式,首先調用Excel.exe,然後調用我的加載項。創建一個具有兩個文件名稱的變量的快捷方式?

我測試了它執行以下操作:

Target: 
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "C:\MyAddin.xll" 

,它工作正常。現在我想在inno-setup中實現它。

我必須通過inno-setup中的一些自動化來獲取Excel.exe位置,我將它存儲在一個全局變量中。

這是我已經試過:

Name: {commondesktop}\{#MyAppName}; Filename: ExcelExecutablePath; 
Parameters: {app}\{#MyAppExeName}; Tasks: desktopicon; 
Flags: CreateOnlyIfFileExists; IconFilename: {app}\Icons\TimeCard64.ico; 

我試過其他的一些東西,但我在一個位在這一個損失。

在此先感謝。讓我知道我是否應該更清楚一些事情!

+0

確保你沒有真正安裝你的Addin到'c:\'。它應該進入'{pf} \ youraddin \'或類似的。 – Deanna

+0

@迪安娜,是的,這僅僅是爲了舉例,保持簡單。感謝您的建議,但。我實際上已在{app} \ myaddin.xll中使用它。當然,安裝後我還有其他問題,我還沒有弄清楚:\。 – Jon49

回答

5

要查找'excel'的位置,您可以查詢'App Paths'註冊表項,如果它在代碼部分的函數中包含'excel.exe'。例如:

  
[Icons] 
Name: "{commondesktop}\My Excel File"; Filename: "{code:GetExcelPath}"; Parameters: """C:\MyAddin.xll""" 

.. 

[Code] 
function GetExcelPath(dummy: string): string; 
begin 
    RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe', '', Result); 
    if Result = '' then 
    Result := 'excel.exe'; 
end; 
+0

謝謝,那太棒了。我沒有看到我的XP操作系統中的註冊表地址。所以我剛剛獲得了excel應用程序,並且通過application.path來獲取路徑。此外,我不知道我需要拋出虛擬變量,我沒有它首先做了它,並想知道爲什麼它不編譯,我看,我需要在我的函數中的虛擬變量! – Jon49

+1

@Jon - 不客氣!你可以閱讀必要的字符串參數[here](http://www.jrsoftware.org/ishelp/index.php?topic=scriptconstants)。 –

相關問題