Sample code for 30+ languages & platforms
Visual FoxPro Requires Chilkat v11.7.0+

Remove the Authenticode Signature from an MSI, PowerShell, or VBScript File

See more Code Signing Examples

Demonstrates how to remove the Authenticode signature from a Windows Installer package (.msi), a PowerShell file (.ps1, .psm1, .psd1), or a VBScript file (.vbs). Removing the signature from these file types requires Chilkat v11.7.0 or later.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL lcPath
LOCAL loCodeSign
LOCAL loSigInfo
LOCAL lnValid

lnSuccess = 0

*  This example requires the Chilkat API to have been previously unlocked.
*  See Global Unlock Sample for sample code.

*  Starting in Chilkat v11.7.0, RemoveSignature can remove the Authenticode signature from
*    - Windows Installer packages (.msi)
*    - PowerShell scripts, modules, and data files (.ps1, .psm1, .psd1)
*    - VBScript files (.vbs)
*  in addition to EXE and DLL files.

*  This example removes the signature from a signed PowerShell script.
*  To remove the signature from an .msi or a .vbs, pass the path of that file instead.
lcPath = "C:/someDir/Deploy.ps1"

loCodeSign = CreateObject('Chilkat.CodeSign')

*  The file is modified in place.  Keep a copy if the signed file is still needed.
*  
*  For a PowerShell or VBScript file, the signature comment block is removed from the end of the file.
*  For an MSI, the digital signature stream and the extended signature stream (MsiDigitalSignatureEx)
*  are removed from the package.
lnSuccess = loCodeSign.RemoveSignature(lcPath)
IF (lnSuccess = 0) THEN
    ? loCodeSign.LastErrorText
    RELEASE loCodeSign
    CANCEL
ENDIF

? "The signature was removed."

*  The file is now unsigned, so VerifySignature returns false.
loSigInfo = CreateObject('Chilkat.JsonObject')
lnValid = loCodeSign.VerifySignature(lcPath,loSigInfo)
? "has a valid signature: " + STR(lnValid)

RELEASE loCodeSign
RELEASE loSigInfo