我有一个奇怪的问题,
我有WPF application
。我为此创建了windows installer
,安装将在用户的开始菜单中创建应用程序快捷方式。我正在通过windows service
安装此MSI。通过Windows服务安装工作正常,但它不会在开始菜单中创建快捷方式,我也没有在程序和功能下看到此应用程序。但如果我手动安装这一切一切正常。任何线索为什么会发生这种情况?
执行MSI的代码
Process installProcess = new Process();
//Assign required properties
installProcess.StartInfo.FileName = MSIEXEC;
installProcess.StartInfo.RedirectStandardError = true;
installProcess.StartInfo.UseShellExecute = false;
LogManager.Write("Process object is created");
//Create new StringBuilder instance
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(SYMBOL_SLASH);
stringBuilder.Append(SYMBOL_INSTALL);
stringBuilder.Append(installerPath);
stringBuilder.Append(SYMBOL_QN);
LogManager.Write("StringBuilder is created: " + stringBuilder.ToString());
installProcess.StartInfo.Arguments = stringBuilder.ToString();
installProcess.Start();
答案 0 :(得分:1)
InstallAllUsers
属性设置为false
。我的Windows服务在Local System account
下运行,我的计算机已使用windows authentication
下的administrator account
登录。因此,当安装发生时,假设MSI是由用户安装的,而不是使用Windows身份验证登录到机器的用户,因此它不会显示在开始菜单中以及“程序和功能”下。
我没有必要将InstallAllUsers保持为假,因此我只是将其设为真,这解决了我的问题。