Creating a User Provided DLL-Based ACE
AdminStudio 2022 | 23.0 | Application Manager
Edition:This functionality is included in the AdminStudio Professional and Enterprise Editions.
To demonstrate how to create a DLL-Based ACE, an ACE SDK was installed with AdminStudio, in the following directory:
[AdminStudioInstallDirectory]\Common\ACESDK
Included in this directory is a Visual Studio 2008 DLL-based project, which is a fully formed example ACE. This example includes utility functions that allow you to integrate your own ACE execution within our conflict persistence model.
Specifying the Visual Studio 2008 Type Library File Path
Application Catalog provides a data structure to each ACE constructed using the ACE SDK. This data structure includes an ADO Connection interface, which is the means by which you can execute queries against the Application Catalog.
In order to build the ACE SDK, you will need to make sure that Visual Studio can locate the needed files for ADO.
The first time you create a DLL-based ACE, you need to open Visual Studio 2008 and specify the path for the type library file (msado15.dll) by performing the following steps:
To specify the Visual Studio 2008 type library file path:
1. | Launch Visual Studio 2008. |
2. | Select Options from the Tools menu. The Options dialog box opens. |
3. | Under Projects and Solutions > VC++ Directories, set the Platform field to Win32 and the Show directories for field to Library files. |
4. | In the directories list, specify the location of the needed files for an ADO Connection interface. The directory specified below is a likely common directory for storing these files: |
C:\Program Files\Common Files\System\ADO
5. | Click OK to exit the Options dialog box. |
Caution:If you fail to specify the correct Library files path, you will encounter the following error when building an ACESDK project with Visual Studio 2008:
Fatal error C1083: Cannot open type library file: 'msado15.dll'; No such file or directory
Creating a DLL-Based ACE
To learn how to create a DLL-Based ACE, use the ACE SDK files to perform the following steps:
To create a DLL-based ACE:
1. | Launch Windows Explorer and navigate to the following directory: |
[AdminStudioInstallDirectory]\Common\ACESDK
2. | Copy this folder and its contents and store it in a convenient location. |
3. | Launch Visual Studio 2008 and open the ACESDK.dsp project file within that newly created folder. |
4. | Review the code and make any desired changes. |
5. | Still in Visual Studio 2008, build the ACESDK.dsp project to create a new .DLL file. |
6. | Launch Application Catalog. |
7. | On the Application Catalog tab menu, click Options. The Options dialog box opens. |
8. | On the ACE Tests tab, click the View Rules button. The Rules Viewer dialog box opens. |
9. | Click the View Rules button. The Rules Viewer dialog box opens. |
10. | Click the New button. The Rules Wizard opens. |
11. | Complete the wizard panels to create your ACE: |
a. | On the General Information panel, enter the following values: |
Option |
Value |
Name |
ACELanguage |
Associated Table |
csmsiProperty (This is the Application Catalog table that is associated with this example ACE.) |
Package Type |
MSI |
Brief Description |
ACELanguage - Check product language consistency. |
Description |
Confirm that source product language is the same as all target product languages. |
Information URL |
http://www.yourcompany.com/ACELanguage.htm |
b. | On the Additional Information panel, enter the following values: |
Option |
Value |
Category |
Type in a new category name: Product Language |
Rule Type |
DLL - User Provided DLL |
c. | On the DLL-Based ACEs panel, enter the following values: |
Option |
Value |
ACE/CARD DLL File |
Click Browse and select the DLL that you built in Step 5 above. |
ACE Function Name |
ExampleACE (as designed in the sample) |
CARD Function Name |
ExampleCARD (as designed in the sample) |
d. | Click Test next to ACE Function Name or CARD Function Name to validate that the exported function does exist. |
e. | On the Summary panel, review the summary of your new ACE and click Finish. |
12. | Click the Close button. The Rules Viewer closes. |
This new DLL-Based ACE is now available for use in subsequent testing.
See Also