Just nu i M3-nätverket
Jump to content

Infoga en ActiveX -kontroll på en webbsida


Xyzi

Recommended Posts

Hej. Jag skall bygga en activex-kontroll som, ifrån en webbsida, kan öppna upp en exekverbar filen som ligger på server, och som sedan körs lokalt. Jag har packeterat filen till en CAB-fil (exes.cab) genom Visual Basics inbyggda Package and Deployment Wizard (activex-kontrollen är konstruerad i Visual Basic 6.0 Enterprise edition).

 

Efter att guiden är avslutad följer det med en HTML-fil med följande innehåll:

<HTML>

<HEAD>

<TITLE>exes.CAB</TITLE>

</HEAD>

<BODY>

<!-- If any of the controls on this page require licensing, you must

create a license package file. Run LPK_TOOL.EXE to create the

required LPK file. LPK_TOOL.EXE can be found on the ActiveX SDK,

http://www.microsoft.com/intdev/sdk/sdk.htm. If you have the Visual

Basic 6.0 CD, it can also be found in the \Tools\LPK_TOOL directory.

 

The following is an example of the Object tag:

 

<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">

<PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">

</OBJECT>

-->

 

<OBJECT ID="UserControl1"

CLASSID="CLSID:191CF8A1-CD5B-41B6-8F85-1C4F550B05F7"

CODEBASE="exes.CAB#version=1,0,0,0">

</OBJECT>

</BODY>

</HTML>

 

När jag laddar upp cab-filen och denna html-fil till en webbserver fungerar det inte som förväntat. På min egen dator fungerar det utmärkt, men på andra datorer, som inte har activexkontrollen installerad blir det bara en liten tom ruta av activex-kontrollen i webbläsaren.

 

Jag kom att tänka på att GUID:en, eller classid:et, kanske har något med saken att göra, så tog reda på filen Guidgen.exe och genererade därifrån en ny GUID, som jag hänvisade till i html-filen. Nu ombads jag installera activex-kontrollen när jag kom in på sidan, dock utan resultat eftersom att det inte heller efter installationen fungerade. Sedan kom jag på att det naturligtvis inte kunde fungera eftersom att det måste finnas någon koppling mellan classid:et i activex-kontrollen och i html-filen.. Därför gick jag in i cab-filen och hittade där en inf-fil som innehöll ett clsid, vilket jag infogade i koden. Inte heller nu tycktes det fungera på andra datorer än min egen. Jag har läst att man kan signera sin activex-kontroll, som med t ex Verisign. Är en sådan signering nödvändig? Det verkar som att en sådan krävs för att en webbläsare, med högsta säkerhetsinställningen, skall kunna acceptera kontrollen, men annars? Hur går man tillväga för att, på enklast möjliga vis, fixa detta? I de kommenterade raderna i html-koden ovanför står det att man kan använda LPK_TOOL.EXE för att skapa en licensfil. Jag har varken hittat det programmet på min hårddisk eller på internet. Adressen som de hänvisar till i kommentaren verkar vara ogiltig.

 

Sammanfattning: Mitt problem är alltså att överhuvudtaget få en activex-kontroll att kunna köras på en webbsida, så att vem som helst (med windows och internet explorer, naturligtvis), kan köra den. Tack på förhand.

 

- Charlie

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...