2012-05-25 13 views
5

Tamam. Eh, bu sorunun ilk 10 dakika içinde kapanma şansı olduğunu biliyorum, ama neredeyse bir gün ve bir buçuk bir çözüm bulmaya çalıştığım için soruyorum. Yine de bunu anlayamıyorum. İnternette bu konuda çok fazla bilgi bulunmamakla birlikte, demoları olmasına rağmen HASP (safenet) web sitesinde bile bulunmuyor.HASP HL ​​çalışma demo için gerekli C#

HASP HL ​​USB dongle'ım var. Demolarını ve testlerini çalıştırmaya çalışıyorum ama hayatım boyunca sadece giriş yapamıyorum. Aladdin.HASP.HaspStatus.HaspDotNetDllBroken istisnasını yükseltmeye devam ediyor.

Ancak, demolarının C sürümünü çalıştırırsam, mükemmel çalışır. Ben USB HASP giriş ve HaspID ve belleğinde ayarlarını almak istiyorum

Aladdin.HASP; 
HASP myHasp = new HASP(); 
var thestatus = myHasp.Login(vender_code); 
myHasp.Logout; 

:

İşte benim kod Csharp versiyonudur. peşin

sayesinde

cevap

3

O HASP çalışma zamanı için tüm bağımlılıkları sahip olmadığını olabilir. Ben uygulaması ile paketliyorum:

hasp_windows_NNNNN.dll (NNNNN = your number) 
hasp_net_windows.dll 
MSVCR71.DLL (added manually) 
msvc runtime 80 

Bir çalışma zamanı kitaplığı HASP gerektirdiği ve Depends.exe yardımcı koymak sürece hangisinin size değil (muhtemelen Visual Studio kaydınız var Kurulum).

giriş (ve bazı bayt okuyun) için:
  byte[] key = new byte[16]; 
      HaspFeature feature = HaspFeature.FromFeature(4); 
      string vendorCode = "your vendor string, get it from your tools"; 
      Hasp hasp = new Hasp(feature); 
      HaspStatus status = hasp.Login(vendorCode); 
      if (HaspStatus.StatusOk != status) 
      { 
       // no license to run 
       return false; 
      } 
      else 
      { 
       // read some memory here 
       HaspFile mem = hasp.GetFile(HaspFileId.ReadOnly); 
       mem.Read(key, 0, 16); 
       status = hasp.Logout(); 
       if (HaspStatus.StatusOk != status) 
       { 
        //handle error 
       } 
      } 

yardımcı olur Umut. HASPed yazılımım bir çekicilik gibi çalışıyor. BTW, hiçbir uygulama ayarları olmadan .NET uygulamasının çevresine zarf yerleştiremedi.

+0

Daniel, Cevabınız için teşekkür ederim, ancak hala işe yaramayabilirim. MSVCR71.dll dosyasını referans listeme eklemeyi denediğimde, derleyici, "İşlem nesnesinin geçerli durumu nedeniyle geçerli değil" mesajını yükseltir. Neden olduğundan emin değilim. Başvuru ekleyebileceğim tek dll dosyası hasp_net_windows.dll 'dir. – ThN

+0

Bu yönetilmeyen dll'dir ve bu nedenle referans olarak eklenemez. Sadece çalıştırılabilir klasöre koyun. Ayrıca, ihtiyacınız olabilecek herhangi bir eksik bağımlı DLL'yi bulmak için depends.exe'yi kullanın. –

+0

Daniel, Ben sadece hasp_net_windows.dll ve MSVCR71.dll ve bulmak istediğiniz hasp_windows_NNNNN.dll bulmak mümkün oldu. Eksik DLL dosyasını internetten indirmem gerekiyor mu? Bulduğum bu dosyalar yürütülebilir klasörde. Yine de, aynı istisna alıyorum. Depends.exe koştu ve sistemimde bulundu olsa bile IEShims.dll eksik olduğundan şikayet ediyor. – ThN

İlgili konular