Invalid action content: the action script contains a syntax error

(imported topic written by Marlon91)

First of all we use version 6 at the moment…

I’m trying to make a task to uninstall visio and project whether they are 2007 or previous versions. Separate, the action script for the different versions works fine but when I put them together it breaks. I ran it on the fixlet debugger (version 7.1?) and there were no errors. If I run it on a machine that errors out, using the debugger the uninstall happens without hiccups. When the action runs it fails on machines without 2007, so it should be going into the first if, check the second then go for else, but the syntax check fails it without even running it, I imagine it has to do with the client versions. The action shows as below:

The action has been run 1 time. Invalid action content: the action script contains a syntax error.   Completed:     
// ----------- Uninstall Visio --------------- Completed:        

if 
{exists regapp whose (name of it = 
"VISIO.EXE")
} Completed:      

if 
{exists key whose (value 
"DisplayName" of it as string starts with 
"Microsoft Office Visio" AND name of it starts with 
"VIS") of key 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" of registry
} Completed:   createfile until end_of_file Completed:         <Configuration Product=
"{name of key whose (value "DisplayName
" of it as string starts with "Microsoft Office Visio
" AND name of it starts with "VIS
") of key "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
" of registry}"> Completed: Completed:                    <Display Level=
"none" CompletionNotice=
"no" SuppressModal=
"yes" AcceptEula=
"yes" /> Completed:                        <Setting Id=
"SETUP_REBOOT" Value=
"NEVER" /> Completed: Completed:           </Configuration> Failed:          end_of_file    ******************* fails here?  Why? delete 
"c:\config.xml" move __Createfile 
"c:\config.xml" wait 
{value 
"UninstallString" of key whose (value 
"DisplayName" of it as string starts with 
"Microsoft Office Visio" AND name of it starts with 
"VIS") of key 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" of registry
} /config 
"c:\config.xml" delete 
"c:\config.xml" 

else wait 
{value 
"QuietUninstallString" of key whose (value 
"DisplayName" of it as string starts with 
"Microsoft Office Visio" AND NOT (value 
"DisplayName" of it as string contains 
"Viewer")) of key 
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" of registry
} /NOREBOOT endif endif

Any help will be greatly appreciated.

Thank you,

Marlon

edit: I checked and the versions of the clients failing and executing are the same. 6.0.15.7

(imported comment written by jessewk)

Hi Marlon,

You have run into a known bug involving the client incorrectly looking for the end delimiter twice when createfile is used in a false if block.

This is fixed in clients >= 6.0.20.x.

Please update your clients or move the createfile section outside of the if block.

  • Jesse

p.s. 7.2 is a free upgrade with lots and lots of nice new features… :slight_smile:

(imported comment written by Marlon91)

Thank you very much I was going nuts.

Now I have to either sell the client update or simply create the file and delete it every time whether I use it or not.

I wonder which one my very change paranoid CAB team will go for…(sarcastic mood)

Thanks,

Marlon

edit: Yeah I know, we even had a brand new top of the line server we bought for it with nice relays to act as buffer in between the server and the rest of the relays and all. Then something else took priority and there was no man-power to do the change anymore.