ciao!
ho messo il manifest così e adesso funziona, nel senso che il programma viene lanciato:
codice:
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--<requestedExecutionLevel level="asInvoker" uiAccess="false" />-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
</application>
</compatibility>
</assembly>
ma in verità la chiave non viene modificata!
questo il codice:
codice:
static void Main()
{
try
{
RegistryKey regKey;
if (Environment.Is64BitOperatingSystem)
{
regKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
}
else
{
regKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
}
String value = regKey.OpenSubKey(@"SOFTWARE\7-Zip", true).GetValue("TEST").ToString();
if (!String.IsNullOrEmpty(value))
{
Console.WriteLine(value);
regKey.SetValue("TEST", " ");
Console.WriteLine("Chiave modificata con successo");
}
else
{
Console.WriteLine("La chiave non esiste");
}
regKey.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
arrivo a Chiave modificata con successo, ma rimane sempre uguale!