@@ -74,12 +74,23 @@ PackageManagerCoreData::PackageManagerCoreData(const QHash<QString, QString> &va
7474 m_variables.insert (scTitle, m_settings.title ());
7575 m_variables.insert (scPublisher, m_settings.publisher ());
7676 m_variables.insert (QLatin1String (" Url" ), m_settings.url ());
77- m_variables.insert (scStartMenuDir, m_settings.startMenuDir ());
7877 m_variables.insert (scTargetConfigurationFile, m_settings.configurationFileName ());
7978 m_variables.insert (QLatin1String (" LogoPixmap" ), m_settings.logo ());
8079 m_variables.insert (QLatin1String (" WatermarkPixmap" ), m_settings.watermark ());
8180 m_variables.insert (QLatin1String (" BannerPixmap" ), m_settings.banner ());
8281
82+ // fill in start menu location
83+ QString startMenuPath;
84+ if (m_variables.value (scAllUsers, scFalse) == scTrue)
85+ {
86+ startMenuPath = m_variables.value (QLatin1String (" AllUserStartMenuProgramsPath" ));
87+ }
88+ else
89+ {
90+ startMenuPath = m_variables.value (QLatin1String (" UserStartMenuProgramsPath" ));
91+ }
92+ m_variables.insert (scStartMenuDir, startMenuPath + QDir::separator () + m_settings.startMenuDir ());
93+
8394 const QString description = m_settings.runProgramDescription ();
8495 if (!description.isEmpty ())
8596 m_variables.insert (scRunProgramDescription, description);
@@ -150,7 +161,7 @@ void PackageManagerCoreData::setDynamicPredefinedVariables()
150161 .toString ();
151162
152163 QString desktop;
153- if (m_variables.value (QLatin1String ( " AllUsers " ) ) == scTrue) {
164+ if (m_variables.value (scAllUsers ) == scTrue) {
154165 desktop = system.value (QLatin1String (" Desktop" )).toString ();
155166 } else {
156167 desktop = user.value (QLatin1String (" Desktop" )).toString ();
0 commit comments