After building run "dumpbin /imports <path-to-your-dll>" and verify that
every DLL listed is part of windows and not a VC runtime. If you find a
non-Windows VC runtime DLL (it'll usually have an 8, 9, or 10 embedded in
the filename) you need to go back to the properties of your VC project and
make sure that you are linking to the "static" libs (and not the "dynamic").

Not being able to load the CA's dll due to missing required runtime DLLs is
the most common cause of this reported error.

-----Original Message-----
From: Andy.Kruger [mailto:appr...@gmail.com] 
Sent: Thursday, June 24, 2010 10:34 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Hide the cancel button on progressDlg nightmare


I have written a custom action DLL with the following code:

UINT __stdcall HideCancelButton(MSIHANDLE hInstall)
{
        PMSIHANDLE hRecord = MsiCreateRecord(2);
        if ( !hRecord)
                return ERROR_INSTALL_FAILURE;

        if (ERROR_SUCCESS != MsiRecordSetInteger(hRecord, 1, 2)
         || ERROR_SUCCESS != MsiRecordSetInteger(hRecord, 2, 0))
                return ERROR_INSTALL_FAILURE;

        MsiProcessMessage(hInstall, INSTALLMESSAGE_COMMONDATA, hRecord);

        return ERROR_SUCCESS;
}

And the binary table and custom action are defined as: 

    <Binary Id="HideCancelDll" SourceFile="C:\data\HideCancel.dll"/>
    <CustomAction Id="CAhidecancel" BinaryKey="HideCancelDll"
Execute="immediate" DllEntry="HideCancelButton" Return="check"/> 

And the CA is sequenced before another CA to hide "Cancel" button while
executing that.


But the CA fails with the following message - in the debug log:

MSI (s) (3C:2C) [11:07:30:313]: Note: 1: 1723 2: CAhidecancel 3:
HideCancelButton 4: C:\Windows\Installer\MSI3C81.tmp 
Error 1723. There is a problem with this Windows Installer package. A DLL
required for this install to complete could not be run. Contact your support
personnel or package vendor. Action CAhidecancel, entry: HideCancelButton,
library: C:\Windows\Installer\MSI3C81.tmp 
MSI (s) (3C:2C) [11:07:33:904]: Product: APC PowerChute Personal Edition 3.0
-- Error 1723. There is a problem with this Windows Installer package. A DLL
required for this install to complete could not be run. Contact your support
personnel or package vendor. Action CAhidecancel, entry: HideCancelButton,
library: C:\Windows\Installer\MSI3C81.tmp 

Action ended 11:07:33: CAhidecancel. Return value 3.
Action ended 11:07:33: INSTALL. Return value 3.


Can someone throw some light to understand why its not working??








-----
Andy
Build&Deployment
Schneider Electric
-- 
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Hide-the-cance
l-button-on-progressDlg-nightmare-tp5220745p5220745.html
Sent from the wix-users mailing list archive at Nabble.com.

----------------------------------------------------------------------------
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to