我有一个非常简单的(签名)安装程序,只是复制一些文件并创建一个快捷方式。它甚至没有包括可执行文件。当我尝试编译安装程序时,我一遍又一遍地收到"由于正在被其他进程使用,无法访问文件"的消息(通常情况下,我都可以在3次尝试内编译安装程序),但现在尝试了很多次后似乎毫无意义。从InnoSetup输出或错误对话框中并不清楚哪个文件正在"使用中"。绝对不会有竞争性进程正在运行。(我已经重新启动了计算机,仍然收到这个消息)。
如何解决这个问题的任何想法都将不胜感激。
以下是完整的设置代码——它已经签名,但与我使用相同签名创建的其他设置程序没有问题。
#define MyAppName "Easy-IAP for IronKey"
#define MyAppVersion "4.0"
#define MyAppPublisher "Command Post Solutions"
#define MyAppURL "http://www.commandpostsolutions.com/"
[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={{51668D56-27F6-4C83-87F2-677328EFE808}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName="\EZ-IAP"
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=IronKeySetup
SetupIconFile=C:\Users\ron\Dropbox\EZIAP\eziap.ico
Compression=lzma
SolidCompression=yes
SignedUninstaller=yes
SignTool=Standard /d $qEasy-IAP Installer$q $f
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Files]
Source: "C:\Users\ron\Dropbox\Easy-IAP for IronKey\AccessDatabaseEngine.exe"; DestDir: "{app}"; Flags: onlyifdoesntexist
Source: "C:\Users\ron\Dropbox\Easy-IAP for IronKey\dotNetFx40_Full_x86_x64.exe"; DestDir: "{app}"; Flags: onlyifdoesntexist
Source: "C:\Users\ron\Dropbox\Easy-IAP for IronKey\Easy-IAP for IronKey\bin\Release\Easy-IAP for IronKey.exe"; DestDir: "{app}";
; NOTE: Don't use "Flags: ignoreversion" on any shared system les
[ICONS]
Name: "{drive:{app}}\Easy-IAP"; Filename: "{app}\Easy-IAP for IronKey.exe";
OutputDir
设置为非Dropbox文件路径。我想一旦Dropbox看到创建的构建文件,它就会锁定它,因此Inno无法再访问刚刚开始的构建。 - Dr Marble