适用于Windows 64位的Inno Setup项目

时间:2014-01-04 03:24:29

标签: installer inno-setup win64

我通过Inno Setup for Windows 64-bit(例如Win 7/8)创建了该项目。 安装后我发现手册的文件无法打开! 我的项目代码在下面的Inno设置。

我该如何解决它? 我的项目错误在哪里?

#define MyAppName "MyProgram"
#define MyAppVersion "1.0.0"
#define MyAppPublisher "Publish Inc."
#define MyAppURL "http://www.mydomen.com/"
#define MyAppExeName "myprogram.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
LicenseFile=C:\Users\path_to_my_program\Win64\Debug\license-ru.txt
InfoAfterFile=C:\Users\path_to_my_program\Win64\Debug\readme-ru.txt
OutputDir=C:\Users\Documents\Inno Setup\Setups
OutputBaseFilename=myprogramsetup64
SetupIconFile=C:\Users\path_to_my_program\myprogram_Icon.ico
Compression=lzma2
SolidCompression=yes
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "    {cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Users\path_to_my_program\Win64\Debug\myprogram.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\path_to_my_program\Win64\Debug\SQLite3.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\path_to_my_program\Win64\Debug\help\handbook-ru.pdf"; DestDir: "{app}\help"; Flags: ignoreversion
Source: "C:\Users\path_to_my_program\Win64\Debug\help\handbook-en.pdf"; DestDir: "{app}\help"; Flags: ignoreversion

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,   {#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

安装完成后,我无法从我的程序中打开帮助文件 - handbook-ru.pdf和handbook-en.pdf。这是问题。

我在我的程序中使用了代码:

procedure TForm1.MenuItem1Click(Sender: TObject);
var
  path_to_handbook : WideString;
begin
  case language of
    $0019 : path_to_handbook := 'help\handbook-ru.pdf'; // Russian
    $0009 : path_to_handbook := 'help\handbook-en.pdf'; // English
  end;

  ShellExecuteW(Handle, nil, PWideChar(path_to_handbook), nil,  nil, SW_SHOWNORMAL);
end;

在调试和运行时,帮助文件已经打开了!

仍然......

程序通常只安装管理员的权利。

如果与管理员一起安装,则无法打开帮助文件和我的程序 - 运行良好。 如果在没有管理员权限的情况下安装,那么帮助文件打开很好但是我的程序 - 处理错误。

如何更正Inno Setup中的代码。

非常感谢。

0 个答案:

没有答案