AndreyAHAHAC |
30-10-2016 14:05 2683015 |
nno Setup Compiler как прописать установку доп. ПО?
Предыстория: Написал приложение на Qt5.7 MSVC. Собрал все dll-ки с помощью утилиты windeployqt.exe. Сделал инсталлятор используя Inno Setup Compiler.
И все работало нормально. Пока я не отдал инсталлятор другу. Он установил, но при запуске выбило ошибку: требовало MSVCP140.dll.
Мне объяснили, что для запуска требуется установка пакета vc_redist140.
Как же прописать, чтобы при установке программы, инсталлятор установил пакет vc_redist140?
п.с. заранее благодарен за помощь!
|
Скрипты Inno Setup. Помощь и советы [часть 8]
Код:
[Files]
Source: VC_redist.x86.exe; DestDir: {tmp}; Flags: deleteafterinstall
[Run]
Filename: {tmp}\VC_redist.x86.exe; Parameters: /quiet; Flags: waituntilterminated; StatusMsg: Installing Microsoft Visual C++ 2015 Redistributable Package
|
Скрипты Inno Setup. Помощь и советы [часть 8].
Цитата:
Цитата AndreyAHAHAC
Как же прописать, чтобы при установке программы, инсталлятор установил пакет vc_redist »
|
Код:
[Setup]
AppName=Redist
AppVersion=1.0
DefaultDirName={pf}\Redist
OutputBaseFilename=redist_setup
OutputDir=.
[Tasks]
Name: ext; Description: Дополнительно
Name: ext/vc; Description: Visual C++
[Run]
Filename: {src}\vc_redist.x86.exe; Parameters: /q; StatusMsg: Установка Visual C++; Tasks: ext/vc
|
AndreyAHAHAC |
30-10-2016 17:22 2683058 |
Чем эти два варианта отличаются?
Код:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Organizer"
#define MyAppVersion "0.9.2.0"
#define MyAppPublisher "*****"
#define MyAppURL "https://www.facebook.com/*****"
#define MyAppExeName "Organizer.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{6C36D108-A4D2-41CA-ADE0-5CDC260E33A6}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile=E:\Work\Qt_work\Qt_deploy\release\Organizer\LICENSE.txt
OutputDir=E:\Work\Qt_work\Qt_deploy\installers\Organizer\Organizer 0.9.2
OutputBaseFilename=Setup Organizer
Compression=lzma
SolidCompression=yes
AppName=Redist
AppVersion=1.0
DefaultDirName={pf}\Redist
OutputBaseFilename=vc_redist.x64
OutputDir=e:\Work\Qt_work\Qt_deploy\Visual C++ Redistributable for Visual Studio 2015
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: ext; Description: Additionally
Name: ext/vc; Description: Visual C++ Redistributable for Visual Studio 2015
[Files]
Source: "E:\Work\Qt_work\Qt_deploy\release\Organizer\Organizer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Work\Qt_work\Qt_deploy\release\Organizer\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[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
Filename: {src}\vc_redist.x64.exe; Parameters: \q; StatusMsg: Setup Visual C++ Redistributable 2015; Tasks: ext/vc
Выбивает ошибку: Line 30. [Setup] Section directive "AppName" already specidied
|
AndreyAHAHAC |
30-10-2016 17:50 2683067 |
Что означает этот параметр?
|
Вы всё подряд не копируйте
Удалите или закомментируйте:
Код:
AppName=Redist
AppVersion=1.0
DefaultDirName={pf}\Redist
OutputBaseFilename=vc_redist.x64
OutputDir=e:\Work\Qt_work\Qt_deploy\Visual C++ Redistributable for Visual Studio 2015
Цитата:
Цитата AndreyAHAHAC
Что означает этот параметр? »
|
Параметр /quiet или /q - режим установки без вывода сообщений (Тихий режим).
|
Цитата:
Цитата AndreyAHAHAC
Чем эти два варианта отличаются? »
|
Кардинально ничем. В вашем случае, в примере от Nordek, секция [Setup] не нужна, а вот [Tasks] по желанию. Вы как хотите, чтобы VC_redist.x86.exe располагался внутри вашего инсталлятора или рядом с ним с последующей его установкой?
Внутри:
Код:
[Files]
Source: E:\Work\Qt_work\Qt_deploy\release\Organizer\VC_redist.x86.exe; DestDir: {tmp}; Flags: deleteafterinstall
[Run]
Filename: {tmp}\VC_redist.x86.exe; Parameters: /quiet; Flags: waituntilterminated; StatusMsg: Installing Microsoft Visual C++ 2015 Redistributable Package
Рядом:
Код:
[Run]
Filename: {src}\VC_redist.x86.exe; Parameters: /quiet; Flags: waituntilterminated skipifdoesntexist; StatusMsg: Installing Microsoft Visual C++ 2015 Redistributable Package
|
Время: 05:16.
© OSzone.net 2001-