I'm having difficulty getting registration-free deployment of the ActiveX SDK to work for my PowerBuilder 11 win32 application. When I register the DLL in addition to doing PDFXCview.exe /regserver, all works fine. All works GREAT actually, and I'm loving your software. The problem is that I don't want to have to register the DLL because doing so requires administrative privileges which is an evil I don't want to have to enforce upon my users.
When building my application from PowerBuilder, I've told it to generate an external manifest which I have amended with the dependency information that I copied from your example Client.exe.manifest that came with the SDK-installer. I have run a tool called "sigcheck" which has confirmed to me that there is no internal manifest in the exe that I have generated, therefore there is no conflict with internal/external manifests.
When I run my application and attempt to invoke the ActiveX control, I get an error... "error calling external function..." ... basically something isn't wired together properly with the ActiveX, which to me should boil down to this attempted registry-free deployment.
Here is my application manifest (my_app.exe.manifest):
Code: Select all
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="x86"
name="my_app"
type="win32"
/>
<description>my_app</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="PDFXCviewAx.X"
version="1.0.0.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<ms_asmv3:trustInfo xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
<ms_asmv3:security xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false">
</requestedExecutionLevel>
</requestedPrivileges>
</ms_asmv3:security>
</ms_asmv3:trustInfo>
</assembly>
my_app.exe
PDFXCviewAx.X.manifest (which I haven't changed, simply copied it from the supplied example)
PDFXCviewAx.dll
PDFXCview.exe
resource.dat
I've tried quite a few different things to get this to work, including an attempt to embed the manifest as an internal manifest within the exe using mt.exe, which hasn't worked. I also tried to run PDFXCview.exe /regserver just in case that step also needed to be done in addition to having a manifest, but this also has not helped.
Is there an obvious step I'm missing here, or an issue with my process that somebody might be able to help me with? I'm attempting to deploy this on 32-bit Windows 7 and so far this is the only OS I've tested with; however, the production application will be run on any OS after and including Windows XP.
Thank you very much,
-John