虽然我真的很喜欢 InnoSetup,但我已经为这个错误的信息而苦恼了一段时间,但我的挫败感达到了新的高度。有很多帖子抱怨这个问题,这肯定是一个 InnoSetup 错误,但我找不到有用的解决方法。
我有一个非常简单(签名)的设置,它只是复制一些文件并创建一个快捷方式。它甚至不包括可执行文件。当我尝试编译设置时,我收到“该进程无法访问该文件,因为它正被另一个进程使用”消息 - 重复(通常我总是让设置在 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";