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, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please 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 May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.