मैं कस्टम मशीन में स्थानीय मशीन स्टोर में प्रमाणपत्र स्थापित करने का प्रयास कर रहा हूं। प्रमाण पत्र स्थापित किया गया है, लेकिन जब मैं इसका इस्तेमाल एडब्ल्यूएस क्वेरी करने के लिए, मैं इस त्रुटि मिलती है:.MSI कस्टम एक्शन में प्रमाणपत्र स्थापित करना ठीक से काम नहीं करता है
Object contains only the public half of a key pair. A private key must also be provided.
संस्थापक ऊंचा चल रहा है, लक्ष्य Windows Vista है।
यदि मैं सटीक उसी कोड का उपयोग करके सटीक उसी प्रमाणपत्र को स्थापित करने के लिए एक अलग .exe का उपयोग करता हूं, तो यह काम करता है। तो विंडोज इंस्टालर का उपयोग कर प्रमाण पत्र स्थापित करते समय यह क्या भिन्न है?
कोड:
private void InstallCertificate(string certificatePath, string certificatePassword)
{
if (IsAdmin())
{
try
{
X509Certificate2 cert = new X509Certificate2(certificatePath, certificatePassword,
X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet);
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();
}
catch (Exception ex)
{
throw new DataException("Certificate appeared to load successfully but also seems to be null.", ex);
}
}
else
{
throw new Exception("Not enough priviliges to install certificate");
}
}