创建一个包含两个文件名的快捷方式,一个是可变的

时间:2012-05-09 20:29:03

标签: inno-setup shortcuts

我想创建一个调用两个文件的快捷方式,首先调用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;

我也尝试过其他的东西,但是我对此感到有点失落。

提前致谢。让我知道我是否应该更清楚一些事情!

1 个答案:

答案 0 :(得分: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;