Проект Inno Setup для Windows 64-битный

Я создал проект с помощью Inno Setup для Windows 64-bit (например, Win 7 / 8). После установки я обнаружил, что файлы справочника не открываются! Код моего проекта Inno Setup ниже.

Как я могу решить эту проблему? Где моя ошибка в этом проекте?

#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 ответов

Другие вопросы по тегам