Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Lizenznummer abragen


2 replies to this topic

kukumar

kukumar
  • Full Members
  • 80 posts

Posted 31 January 2007 - 10:24

Hallo,

hat sich jemand von euch schon mit der Lizenznummerabfrage beschäftigt?

In meiner Anwendung muss ich einige Features in Abhängigkeit von der angegebenen Lizenznummer installieren.

Wie ich sehe gibt es in InstallShield 12 kein spezieles Dialog für die Abfrage einer Lizenznummer, aber dieser ließe sich leicht erstellen.

Das Problem ist, das sich sicherlich nicht um eine CA herumkomme. Momentan habe ich alle Lizenznummer in einer Tabelle (Excell) und vergleiche den Kundeninput mit den Einträgen dort und bei übereinstimmung benutze ich bei der Installation das entsprechende Feature.

Hat jemand einen Vorschlag wie ich dabei am besten vorgehe, vielleicht gibt es bereits eine Standardlösung oder CA?

Wo und wie wäre es am besten die Lizenznummern abzulegen? Ich habe mir überlegt im Direct Editor eine neue TAbelle hinzuzufügen. Ist das erlaubg und ungefährlich? Wenn ja wie "lerne" ich das InstallShield diese Tabelle zu benutzen?

ANo

ANo
  • Full Members
  • 179 posts

Posted 31 January 2007 - 11:18

Hallo, zu Tabellen:
Tabellen kannst Du einbauen und dann z. Bsp. per Script drauf zugreifen:

Beispiel: BasicMsi-Projekt, Tabelle = _PolySupport

export prototype MyFunction(HWND);

////////////////////////////////////////////////////////////////////////////////
// Function: MyFunction
////////////////////////////////////////////////////////////////////////////////
function MyFunction( hInstall )
STRING sSQL;
NUMBER nBuffer;
NUMBER nResult;
begin
nBuffer = 20;
csVersion = "";
sSQL = "SELECT `Value` FROM `_PolySupport` WHERE `Support`='Version'";
nResult = GEN_DB_Get_String( hInstall, sSQL, csVersion, nBuffer );
end;


////////////////////////////////////////////////////////////////////////////////
// Function: GEN_DB_Get_String
// Purpose: Get a value (string, one record) from a table.
////////////////////////////////////////////////////////////////////////////////
function GEN_DB_Get_String( hInstall, sSQL, sValue, nBuffer )
NUMBER hView, hRec;
NUMBER nResult;
begin
// Open and execute a view.
nResult = MsiDatabaseOpenView(hInstall,sSQL,hView);
if nResult = 0 then
nResult = MsiViewExecute(hView, 0);
if nResult = 0 then
nResult = MsiViewFetch(hView,hRec);
if nResult = 0 then
nResult = MsiRecordGetString(hRec,1,sValue,nBuffer);
endif;
endif;
MsiCloseHandle(hView);
endif;
return nResult;
end;

Gruß
André

kukumar

kukumar
  • Full Members
  • 80 posts

Posted 31 January 2007 - 11:37

Danke Andre,

ich werde es mal mit der Tabelle versuchen