Created attachment 90072 [details] screenshot of bad/weird target on the desktop link I am trying to install Krita silently on Windows (x64) using the MSI installer. The program installs and works okay, but when my users try to run it the program does not run properly; instead it launches the installer again. I think the problem is that the link targets for the desktop and start menu icons are incorrect. In the attached screenshot, you can see the link target is "Krita Desktop (x64) 2.8.3.0", and not "C:\Program Files\Krita (x64)\bin\krita.exe" , which is where the executable is located. If I install the program using a user ("User A") then User A can launch the program with the existing shortcuts. The problem occurs when a second user ("User B") logs into the machine and launches the program. To fix this, I opened the MSI in an MSI editor and made a transform. In the Shortcut table, I changed the target for Desktop.CalligraKrita and ProgramMenu.Krita from "DefaultFolder" to "[CALLIGRADIR]\bin\krita.exe" . I do not know whether this is the right thing to put in, but it does work (and other things I tried like "KritaExe" did not). The MST transform works for me, but I am guessing the correct solution is to change the MSI generator. (I have no idea how to do this; I know next to nothing about MSI packaging.) Although I am using the x64 version of the program, it looks as if the x86 version is similarly affected (also some of the properties say (x85) and not (x86), but that is a different bug).
Created attachment 90074 [details] MST transformation to change the shortcut icon paths
Thanks for the report. I'll try to fix the msi stuff. It's still a mystery to me as well, though...
I took a quick look at the build sources. I did not set up a build environment, but I have an idea about what might be going wrong. If you look at calligra/windows/krita_installer/krita.wxs you will see the following structure, which appears to create the desktop and Start menu icons: <Component Id="MainExecutable" Guid="9049a848-b855-493f-ab7e-4841f4f53650"> <File Id="KritaExe" Name="krita.exe" Source="$(env.C2WINSTALL_INPUT)\bin\krita.exe" KeyPath="yes"/> <Shortcut Id="ProgramMenu.Krita" Directory="ProgramMenuDir" Name="Krita" WorkingDirectory="CALLIGRADIR" Icon="Icon.Krita.exe" IconIndex="0" Advertise="yes"/> <Shortcut Id="Desktop.CalligraKrita" Directory="DesktopFolder" Name="Krita" WorkingDirectory="CALLIGRADIR" Icon="Icon.Krita.exe" IconIndex="0" Advertise="yes"/> <Shortcut Id="ProgramMenu.Tools.UninstallProduct" Directory="ProgramMenuDir.Tools" Name="Uninstall Krita" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]" Description="Uninstalls Krita"/> </Component> The shortcut tags for the ProgramMenu.Krita and Desktop.CalligraKrita are both children of the Component node, and are siblings of the File node. I think this might be wrong. The Wix documentation says that shortcuts can be child nodes of Directories, Files, or Components, and I suspect that the shortcuts should be children of the File instead of the Component. So a corrected version of the install might look something like this: <Component Id="MainExecutable" Guid="9049a848-b855-493f-ab7e-4841f4f53650"> <File Id="KritaExe" Name="krita.exe" Source="$(env.C2WINSTALL_INPUT)\bin\krita.exe" KeyPath="yes"> <Shortcut Id="ProgramMenu.Krita" Directory="ProgramMenuDir" Name="Krita" WorkingDirectory="CALLIGRADIR" Icon="Icon.Krita.exe" IconIndex="0" Advertise="yes"/> <Shortcut Id="Desktop.CalligraKrita" Directory="DesktopFolder" Name="Krita" WorkingDirectory="CALLIGRADIR" Icon="Icon.Krita.exe" IconIndex="0" Advertise="yes"/> </File> <Shortcut Id="ProgramMenu.Tools.UninstallProduct" Directory="ProgramMenuDir.Tools" Name="Uninstall Krita" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]" Description="Uninstalls Krita"/> </Component> I do not believe the third shortcut to the uninstaller should be included as children of the File. As I said, this is speculation, and so does not count as a real patch. But it seems like a plausible place to look for a bugfix.
I agree -- but I'm sorry, I've been so pressed for time that I haven't been able to work on our packaging, so the bug is still there in 2.9.0 :-(
The "Krita (x85)" startup folder is also still an issue of 2.9.2 Should I create a separate bug, altough it's also mentioned here?
No -- really need to sit down and fix these issues. The problem is, I'm so running out of time all the time :-(
I stopped making the msi installers for now, it was too much too maintain on my own. For 3.0, we only have portable zip files.
(In reply to Boudewijn Rempt from comment #7) > I stopped making the msi installers for now, it was too much too maintain on > my own. For 3.0, we only have portable zip files. Will these portable zip files also be usable for multiuser installs, and thus save settings etc in the profile of the user?