HISE Logo Forum
    • Categories
    • Register
    • Login

    Previously installed plugins with x64 / x86 suffixed names

    Scheduled Pinned Locked Moved General Questions
    9 Posts 4 Posters 390 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • orangeO
      orange
      last edited by orange

      The x64 and x86 suffixes for the plugin names are removed currently (affects Windows versions only).

      So if the previous suffixed name version (MyPlugin x64.vst) , and the new plugin name version (MyPlugin.vst) are both installed in the same computer, there will be a conflict in the DAW.

      To prevent this, the user should uninstall the previous one and then install the new version, but I am sure most the users won't do this :)

      What do you think about the solution guys? An automatic uninstall command before the installation inside the Inno setup? Or any ideas?

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

      Dan KorneffD 1 Reply Last reply Reply Quote 0
      • ?
        A Former User
        last edited by

        I just manually added the x64 back to the new binaries, not ideal but meh I'll probably get rid of it soon anyway

        orangeO 1 Reply Last reply Reply Quote 1
        • orangeO
          orange @A Former User
          last edited by orange

          @iamlamprey said in Previously installed plugins with x64 / x86 suffixed names:

          I just manually added the x64 back to the new binaries, not ideal but meh I'll probably get rid of it soon anyway

          Good idea. Have you renamed AAX version too? Is there any issues while signing/valdating the AAX plugin?

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          DanHD 1 Reply Last reply Reply Quote 0
          • DanHD
            DanH @orange
            last edited by

            @orange I removed the x64 in the first place...

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

            1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @orange
              last edited by

              @orange I'm removing the old versions here.

              [InstallDelete]
              ; Remove old files with x64 Names
              Type: files; Name: "{commoncf64}\VST3\MyAwesomeCompany\MyAwesomePlugin x64.vst3"
              Type: filesandordirs; Name: "{commoncf64}\Avid\Audio\Plug-Ins\MyAwesomeCompany\MyAwesomePlugin x64.aaxplugin"
              

              Dan Korneff - Producer / Mixer / Audio Nerd

              orangeO 1 Reply Last reply Reply Quote 1
              • orangeO
                orange @Dan Korneff
                last edited by

                @dustbro Great, thank you.

                develop Branch / XCode 13.1
                macOS Monterey / M1 Max

                1 Reply Last reply Reply Quote 0
                • orangeO
                  orange
                  last edited by orange

                  Ok, here is another solution. If the AppID is the same as the old version, and if the old version was created with the Inno setup too, you can run an uninstaller script of the dedicated app just before the installation. Because the AppID will be the identifier.

                  Also, it will be better to show up YES/NO confirmation buttons that ask if the old version will be uninstalled.

                  [Code]
                  function GetNumber(var temp: String): Integer;
                  var
                    part: String;
                    pos1: Integer;
                  begin
                    if Length(temp) = 0 then
                    begin
                      Result := -1;
                      Exit;
                    end;
                      pos1 := Pos('.', temp);
                      if (pos1 = 0) then
                      begin
                        Result := StrToInt(temp);
                      temp := '';
                      end
                      else
                      begin
                      part := Copy(temp, 1, pos1 - 1);
                        temp := Copy(temp, pos1 + 1, Length(temp));
                        Result := StrToInt(part);
                      end;
                  end;
                  
                  function CompareInner(var temp1, temp2: String): Integer;
                  var
                    num1, num2: Integer;
                  begin
                      num1 := GetNumber(temp1);
                    num2 := GetNumber(temp2);
                    if (num1 = -1) or (num2 = -1) then
                    begin
                      Result := 0;
                      Exit;
                    end;
                        if (num1 > num2) then
                        begin
                          Result := 1;
                        end
                        else if (num1 < num2) then
                        begin
                          Result := -1;
                        end
                        else
                        begin
                          Result := CompareInner(temp1, temp2);
                        end;
                  end;
                  
                  function CompareVersion(str1, str2: String): Integer;
                  var
                    temp1, temp2: String;
                  begin
                      temp1 := str1;
                      temp2 := str2;
                      Result := CompareInner(temp1, temp2);
                  end;
                  
                  function InitializeSetup(): Boolean;
                  var
                    oldVersion: String;
                    uninstaller: String;
                    ErrorCode: Integer;
                    vCurID      :String;
                    vCurAppName :String;
                  begin
                    vCurID:= '{#SetupSetting("AppId")}';
                    vCurAppName:= '{#SetupSetting("AppName")}';
                    //remove first "{" of ID
                    vCurID:= Copy(vCurID, 2, Length(vCurID) - 1);
                    //
                    if RegKeyExists(HKEY_LOCAL_MACHINE,
                      'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + vCurID + '_is1') then
                    begin
                      RegQueryStringValue(HKEY_LOCAL_MACHINE,
                        'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + vCurID + '_is1',
                        'DisplayVersion', oldVersion);
                      if (CompareVersion(oldVersion, '{#SetupSetting("AppVersion")}') < 0) then      
                      begin
                        if MsgBox('The old version (' + oldVersion + ') of ' + vCurAppName + ' is already installed. This old version will be uninstalled, do you want to continue?',
                          mbConfirmation, MB_YESNO) = IDNO then
                        begin
                          Result := False;
                        end
                        else
                        begin
                            RegQueryStringValue(HKEY_LOCAL_MACHINE,
                              'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + vCurID + '_is1',
                              'UninstallString', uninstaller);
                            ShellExec('runas', uninstaller, '/SILENT', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
                            Result := True;
                        end;
                      end
                      else
                      begin
                          if (CompareVersion(oldVersion, '{#SetupSetting("AppVersion")}') = 0) then      
                          begin
                            MsgBox('The same version ' + oldVersion + ' of ' + vCurAppName + ' is already installed. This installer will exit.',
                              mbInformation, MB_OK);
                            Result := False;
                          end
                  
                          else
                          begin
                            MsgBox('A Newer version ' + oldVersion + ' of ' + vCurAppName + ' is already installed. To install this version, please firstly uninstall the current one. This installer will exit.',
                              mbInformation, MB_OK);
                            Result := False;
                          end;
                      end;
                    end
                    else
                    begin
                      Result := True;
                    end;
                  end;
                  
                  

                  develop Branch / XCode 13.1
                  macOS Monterey / M1 Max

                  Dan KorneffD 1 Reply Last reply Reply Quote 2
                  • Dan KorneffD
                    Dan Korneff @orange
                    last edited by

                    @orange Just tested this script. Works great

                    Dan Korneff - Producer / Mixer / Audio Nerd

                    orangeO 1 Reply Last reply Reply Quote 1
                    • orangeO
                      orange @Dan Korneff
                      last edited by orange

                      @dustbro Yes it works great. I've already included this on my installers a couple of days ago :)

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

                      1 Reply Last reply Reply Quote 1
                      • First post
                        Last post

                      19

                      Online

                      1.8k

                      Users

                      11.9k

                      Topics

                      103.9k

                      Posts