running InstallUtil {app}/file.exe in inno setup

2019-02-18 04:27发布

I want to copy service files to {app} directory and then use this as a parameter in InstallUtil.exe.

Here's some part of my code :

[Files]
Source: WCFService.exe; DestDir: {app}
Source: WCFService.exe.config; DestDir: {app}

[Run]
Filename: {dotnet40}\InstallUtil.exe; Parameters: {app}\WCFService.exe

This code doesn't work (but the files are copied into {app} directory correctly). However, if I use something like this :

[Files]
Source: WCFService.exe; DestDir: {src}
Source: WCFService.exe.config; DestDir: {src}

[Run]
Filename: {dotnet40}\InstallUtil.exe; Parameters: WCFService.exe

it works correctly. Does anyone know what's going on? I have to use inno setup.

2条回答
迷人小祖宗
2楼-- · 2019-02-18 04:57

In this case you could try to set WorkingDir parameter to {app} in the [Run] section. Like this:

[Run]
Filename: "{dotnet40}\InstallUtil.exe"; WorkingDir: "{app}"; Parameters: "WCFService.exe"
查看更多
smile是对你的礼貌
3楼-- · 2019-02-18 05:01

{app} may contain spaces, and so must be properly quoted when using it on command lines:

[Run]
Filename: {dotnet40}\InstallUtil.exe; Parameters: """{app}\WCFService.exe"""

The outermost set of quotes is for Inno itself; each pair of doubled quotes within that will end up putting a single quote on the command line.

查看更多
登录 后发表回答