如果安装了OpenDCL,我希望我的脚本检查。如果不是,则应安装它。
这是代码:
来源:
[Setup]
AppId={{7EED6191-0CC5-4D95-B28B-D5AB92F09685}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName=C:\Cobiax\{#MyAppName}
DisableDirPage=yes
UsePreviousAppDir=yes
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultGroupName={#MyAppName}
InfoAfterFile=C:\Cobiax\Sorgenti\Cobiax Plan\info.txt
OutputBaseFilename=CobiaxPlan v1.0
Compression=lzma
SolidCompression=yes
PrivilegesRequired=admin
[UninstallDelete]
Type: filesandordirs; Name: "C:\Cobiax\"
[Files]
Source: C:\Cobiax\Sorgenti\OpenDCL.Runtime.8.0.1.0.msi; DestDir: C:\Cobiax\Cobiax Plan\; \
Flags: deleteafterinstall
[Run]
Filename: msiexec.exe; Parameters: /i {app}\OpenDCL.Runtime.8.0.1.0.msi
[UninstallRun]
Filename: msiexec.exe; Parameters: /x {app}\OpenDCL.Runtime.8.0.1.0.msi
[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
非常感谢,丹尼斯
聚苯乙烯。是否可以隐藏那个闪屏?
答案 0 :(得分:1)
OpenDCL.Runtime.8.0.1.0.msi
和[Files]
部分中的[Run]
路径不同。将程序包安装到固定路径C:\Cobiax\Cobiax Plan
,同时从用户定义的安装路径{app}
运行它。由于该文件是临时文件,您可能希望从{tmp}
安装并运行它。
在任何情况下,两个路径都可能包含空格(Cobiax Plan
或Program Files
)。所以你运行
msiexec.exe /i C:\Program Files\MyAppName\OpenDCL.Runtime.8.0.1.0.msi
那是错的。这就是你获得msiexec
使用屏幕的原因。
如果路径包含空格,则需要将其括在引号中:
msiexec.exe /i "C:\Program Files\MyAppName\OpenDCL.Runtime.8.0.1.0.msi"
正确的代码是:
[Files]
Source: C:\Cobiax\Sorgenti\OpenDCL.Runtime.8.0.1.0.msi; DestDir: {tmp}; \
Flags: deleteafterinstall
[Run]
Filename: msiexec.exe; Parameters: "/i ""{tmp}\OpenDCL.Runtime.8.0.1.0.msi"""