开发者

CAQuietExec Command string must begin with quoted application name

Ok I believe I'm following the online example in Wix3.5 for doing quiet commands yet I cannot seem to get my command to be executed quoted.

<Component Id="MapObjectsRuntime' Guid='*'>
  <File Id = 'Mo23rtEXE' Name='Mo23rt.exe' Source='....' KeyPath="yes"/>
<Component>

<Property Id = "QtExecCmdLine" Value="Mo23rt.exe" />

// I've tried single & double quotes, and double double quotes around Mo23.

<CustomAction Id = "InstallMapObjects" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check" />

<InstallExecuteSequence>
  <Custom Action="InstallMapObjects" After="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>

I do get a warning building the wix project: The file Mo23rtEXE is not a Font, and its version is not a companion file reference.

I also need to assign command line parameters to the mo23rt.exe command but I'm first just trying to get this to work.

Lots of folks appear to be struggling with this too, as revealed by Google.

Forgot to add that running setup.exe /l*v install.log had:

MSI Doing action: InstallMapObjects
.
.
Property Change: Deleting QtExeCmdLine property.  Its current value is '开发者_如何学运维Mo23rt.exe'.
CAQuitExec: Command string must begin with quoted application name.
CAQuietExec: Error 0x80070057 invalid command line property value


You schedule your custom action as immediate, but you try to run a file which should be installed by your installer. Here comes the conflict: immediate CA run BEFORE the files are installed, 'cause this happens in deferred sequence.

I would recommend you to get acquainted with Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer article first.


I had tried ""mo23rt.exe"" and "'mo23rt.exe'", shame on me for not trying '"mo23rt.exe"'. Something else is still wrong but it might be what's mentioned above, or it might be I'm trying to run something that is trying to put up a status bar dialog and is not really that quiet.


I changed it to a regular custom action vice CAQuiet.

<CustomAction Id="InstallMapObjects" FileKey="Mo23rtEXE" ExeCommand="/ACDJKLM" Execute="commit"/> 

followed by 

<InstallExecuteSequence>
  <Custom Action="InstallMapObjects" Before="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜