-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Julia installation overwrites Windows uninstall entry #40004
Comments
Inno Setup
and here for v1.5.4 https://github.com/JuliaLang/julia/blob/v1.5.4/contrib/windows/build-installer.iss#L48
The
Julia v1.6.0 has the possibility to pass the
Indeed, my Windows registry has a key If I understood correctly, Inno Setup CC'ing @musm and @staticfloat as they have written or edited the lines in question. |
Dup of #36933? |
yep closed as dupe |
…40163) * Have different Windows uninstall keys for different Julia versions Should fix #40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com>
…40163) * Have different Windows uninstall keys for different Julia versions Should fix #40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com> (cherry picked from commit e2f5f26)
…40163) * Have different Windows uninstall keys for different Julia versions Should fix #40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com> (cherry picked from commit e2f5f26)
…40163) * Have different Windows uninstall keys for different Julia versions Should fix #40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com> (cherry picked from commit e2f5f26)
…uliaLang#40163) * Have different Windows uninstall keys for different Julia versions Should fix JuliaLang#40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com>
…uliaLang#40163) * Have different Windows uninstall keys for different Julia versions Should fix JuliaLang#40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com>
…uliaLang#40163) * Have different Windows uninstall keys for different Julia versions Should fix JuliaLang#40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com>
…40163) * Have different Windows uninstall keys for different Julia versions Should fix #40004. Have the uninstall key to be "{#AppNameLong}_is1" where AppNameLong contains the Julia version to prevent Windows from overwriting the uninstall information for different Julia versions. Inno Setup documentation about the AppId https://jrsoftware.org/ishelp/topic_setup_appid.htm copied here for convenience ``` [Setup]: AppId Default value: AppName Description: The value of AppId is stored inside uninstall log files (unins???.dat), and is checked by subsequent installations to determine whether it may append to a particular existing uninstall log. Setup will only append to an uninstall log if the AppId of the existing uninstall log is the same as the current installation's AppId. For a practical example, say you have two installations -- one entitled My Program and the other entitled My Program 1.1 Update. To get My Program 1.1 Update to append to My Program's uninstall log, you would have to set AppId to the same value in both installations. AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".) Pre-1.3 versions of Inno Setup based the key name on the value of AppVerName. AppId is a not used for display anywhere, so feel free to make it as cryptic as you desire. The value may include constants. If you use a {code:..} constant to allow your user to customize AppId, you do not need to return the real value until just before the installation starts: if necessary you may return an empty or generic value at earlier times. If not empty, this value will only be used to attempt to restore previous install settings (like the settings stored by [Setup] section directive UsePreviousAppDir). If empty, it isn't used for anything. The length of AppId with all constants evaluated should never exceed 127 characters. Example: AppId=MyProgram ``` * Use DirName as AppId Co-authored-by: Mustafa M <mus-m@outlook.com> * remove unneeded code Co-authored-by: Mustafa M <mus-m@outlook.com> (cherry picked from commit e2f5f26)
I installed Julia 1.5.4 and 1.6.0-rc2 one after the other, and the entry in the "Programs and Features" / "Apps and feature" menus for 1.5.4 was removed and replaced by the one for 1.6.0-rc2.
I assume this is probably caused by some registry key being overwritten.
The text was updated successfully, but these errors were encountered: