我已經創建了一個在安裝開始執行以在SOFTWARE \微軟\的Windows \ CurrentVersion \ Run中路徑的註冊表鍵的功能將應用程序,使應用程序可以啓動當電腦啓動時。Visual Studio安裝項目和啓動路徑
功能工作在XP/2003的機器,但無法在Windows 7安裝程序安裝過程中自動提升權限,因爲它正在安裝一個Windows服務程序。所以我想知道我又在做什麼錯了?
下面是函數:
private void RegisterInStartup(bool isChecked)
{
try
{
string t_registeryPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
RegistryKey registryKey =
Registry.LocalMachine.OpenSubKey(t_registeryPath, true);
if (registryKey == null)
registryKey = Registry.LocalMachine.CreateSubKey(t_registeryPath);
if (isChecked)
{
string tgt_dir = Context.Parameters["targetPath"];
if (!Directory.Exists(tgt_dir))
return;
string t_exeName = Path.Combine(tgt_dir, "AppTaskbarNotificator.exe");
if (!File.Exists(t_exeName))
return;
registryKey.SetValue("AppTaskbar", t_exeName);
}
else
{
registryKey.DeleteValue("AppTaskbar");
}
}
catch (Exception)
{
return;
}
}
並且它被放置在其在應用的安裝程序類重寫記安裝功能。
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
System.Diagnostics.Debugger.Break();
RegisterInStartup(true);
StartApp();
}
在此先感謝。
它在哪裏錯誤? – Otiel
它不會在Windows 7中安裝時創建註冊表項。 – ArmenB
確保您正在爲x64和x64讀取正確的註冊表項,因爲x64 Windows 7安裝更爲常見。你有沒有確定你的代碼在哪裏失敗?如果沒有...添加調試代碼。 –