2011-04-06 11 views
17

मैं चाहता हूं कि कोई व्यवस्थापक मेरे लिए कुछ डीएलएल पंजीकृत करे, लेकिन शायद वह पूरे एसडीके को इंस्टॉल नहीं करना चाहेंगे।क्या मैं वीएस या एसडीके स्थापित किए बिना gacutil.exe को डाउनलोड और इंस्टॉल कर सकता हूं?

क्या वह सिर्फ gacutil.exe इंस्टॉल कर सकता है? यदि हां, तो वह इसे कहां प्राप्त कर सकता है? क्या मैं सिर्फ gacutil.exe फ़ाइल को ईमेल करता हूं, और उसे इसे इस्तेमाल करने के लिए उसे अपनी मशीन पर कहां रखना है?

+3

वह नहीं कर सकते । आप लाइसेंस द्वारा प्रतिबंधित, इसे पुनर्वितरित नहीं कर सकते हैं। उसे एक quickie Setup.exe भेजें। –

+1

धन्यवाद हंस। मेरे शोध को जारी रखने के बाद, मैंने पाया कि आधिकारिक सर्वोत्तम प्रथाओं का तरीका विंडोज इंस्टालर करना है। तो मैंने यही किया है, मैंने एक सरल सेटअप प्रोजेक्ट बनाया है और यह सब जीएसी को असेंबली स्थापित करता है। क्या यह करने का सही तरीका है? कोई अन्य सुझाव/सुझाव/गेटचास? – richard

+0

ठीक है, quickie Setup.exe। झसे आज़माओ। –

उत्तर

4

मेरे प्रश्न पर प्रति हंस की टिप्पणी, यह लाइसेंस के खिलाफ है। यहां करने का सबसे अच्छा काम एक त्वरित setup.exe या msi बनाना है जो फ़ाइलों को जीएसी में स्थापित करेगा, जो मैंने किया है।

2

इसके अलावा एक विकल्प है कि डीएलएल को मैन्युअल रूप से खींचें और ड्रॉप करें: \ windows \ assembly।

.net 4 के लिए, मेरा मानना ​​है कि विधानसभा फ़ोल्डर c है: \ Windows \ microsoft.net \ विधानसभा - हालांकि मैं .net 4.

+0

आपको इसे विंडोज रजिस्ट्री में पंजीकृत करने की ज़रूरत नहीं है? – crush

+0

@ क्रश विंडोज रजिस्ट्री मेरे परीक्षण में आवश्यक नहीं है ("मेरी मशीन पर काम करता है" ™ – jeffreypriebe

+0

मेरे लिए तब तक काम नहीं किया जब तक कि मैंने gacutil.exe को "इंस्टॉल" करने के लिए उपयोग नहीं किया। – crush

17

मुझे मिल गया पर इस तरह से एक सरल xcopy इसके परीक्षण नहीं किया यह gacutil.exe, gacutil.exe.config और gacutlrc.dll की प्रतिलिपि बनाकर काम कर रहा है। मैं समझता हूं कि यह लाइसेंस के खिलाफ है, लेकिन आप VisualStudio Express में InstallShield नहीं प्राप्त कर सकते हैं, इसलिए यह सबसे आसान समाधान था।

2

पुराना सवाल है, लेकिन एक मशीन है कि एसडीके इंस्टॉल नहीं किया है पर एक चुटकी में, जब तक कि PowerShell उपलब्ध है आप यह कर सकते हैं:

#Note that you should be running PowerShell as an Administrator 
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")    
$publish = New-Object System.EnterpriseServices.Internal.Publish    
$publish.GacInstall("C:\Path\To\DLL.dll") 

से https://www.andrewcbancroft.com/2015/12/16/using-powershell-to-install-a-dll-into-the-gac/

संबंधित मुद्दे

 संबंधित मुद्दे