MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: /TableDefinition[Next]: TableExportToIdt
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->Commands->TableDelete

The "TableDelete" Command

This command deletes an MSI table if it exist (it does not care if it doesn't exist).

This command takes these parameters:

Note that in general this command will delete (drop) a table containing rows but I have seen it fail to drop a table containing a "binary" field until all rows were deleted.

EXAMPLE #1

<$Table "Billboard">
   <$TableDelete>
<$/Table>
...
<$TableDelete "SomeToolsTable" UNKNOWN="Y">   ;;We are being care to get case etc correct.  We have not used a "TableDefinition" command to define the "SomeToolsTable" table.

EXAMPLE #2

;--- Create "DeleteTableIfEmpty" command ------------------------------------
#( '<?NewLine>'

    #define DeleteTableIfEmpty

    ;--- No point doing anything if the table doesn't exist -----------------
    if  TableExists("{$#1}") then
        ;--- "open" the table -----------------------------------------------
        <$Table "{$#1}">
            ;--- Count number of rows in the table --------------------------
            #RexxVar '@@VbVariable' = 'DeleteTableIfEmpty_<?Unique>'
            dim <??@@VbVariable> : <??@@VbVariable> = 0
            <$Row @Where="" @Code="Y" @VALIDATE="">
                  <??@@VbVariable> = <??@@VbVariable> + 1
            <$/Row>

            ;--- If no rows in the table then delete it ---------------------
            if  <??@@VbVariable> = 0 then
                <$TableDelete>
            end if
       <$/Table>
   end if
#)

;--- Try the "DeleteTableIfEmpty" command -----------------------------------
<$DeleteTableIfEmpty "IniFile">


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006 & 2007 for the Windows SDK (Windows Installer) area.This external link was OK when tested at 27 Dec 2008Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: /TableDefinition[Next]: TableExportToIdt


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday December 27 2008 at 3:15pm
Visit MAKEMSI's Home PageThis external link was OK when tested at 7 Dec 2008

HTML page dated Mon, 29 Jan 2007 00:11:11 GMT
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006 & 2007 for the Windows SDK (Windows Installer) area.This external link was OK when tested at 27 Dec 2008