ITSA - Mass Silent installer - Free Open source

Page 1 of 2 12 LastLast
Results 1 to 15 of 17
  1. #1
    Moderator DriftCity is offline
    ModeratorRank
    Oct 2009 Join Date
    /NapTown/Location
    621Posts

    ITSA - Mass Silent installer - Free Open source

    Hello Showcase and Release Section!

    A few days ago a very good friend created something called ITSA, Install That Sh*t Already.
    It's a mass silent installer, got a new windows and hate installing programs? Then this is a program you would like to download.

    The programs that are used a lot daily are added, for example:
    Chrome
    Notepad++
    Steam
    VLC
    Spotify
    Skype
    Firefox
    Dropbox

    And many many more!

    He is still working on this project, but it's great that he is making this, there are several other programs that can do this installing, but you have to pay for these programs.
    He will add more programs that are used daily!

    He is also working on new features, currently there is no option to select where you would like to install your programs, it uses the default HDD where windows is on.

    It's open source, you can download the source and the .exe here:
    https://github.com/EaterOfCode/ITSA

    100% Credits for: EaterOfCode
    Last edited by DriftCity; 08-10-13 at 10:35 PM.


  2. #2
    Maxtraxv3 BDSX is offline
    MemberRank
    Apr 2013 Join Date
    181Posts

    Re: ITSA - Mass Silent installer - Free Open source

    wait this for window 8 only?

  3. #3
    Moderator DriftCity is offline
    ModeratorRank
    Oct 2009 Join Date
    /NapTown/Location
    621Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by BDSX View Post
    wait this for window 8 only?
    No it's not. Just has the looks.

  4. #4
    • ♠️​ ♦️ ♣️ ​♥️ • שเ๒єtгเ๒є is offline
    MemberRank
    Mar 2012 Join Date
    917Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by BDSX View Post
    wait this for window 8 only?
    App.config:
    PHP Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
          
        </startup>
    </configuration>

    No, it should run for Windows 7 and 8, since it's build with .NET 4.5.
    It will work with desktop programs and it will not work for Windows 8 metro apps.

    InstallingApp.cs:
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    namespace 
    ITSA.Objects
    {
        public class 
    InstallingApp INotifyPropertyChanged
        
    {
            public 
    App Origin getset; }
            public 
    double DownloadPercentage getset; }
            public 
    string Status getset; }
            private 
    string TempName;
            public 
    void Start()
            {
                
    WebClient wc = new WebClient();
                
    TempName System.IO.Path.GetTempPath() + '\\' Origin.Title '.' Origin.Extension;
                
    wc.DownloadFileCompleted += wc_DownloadFileCompleted;
                
    wc.DownloadProgressChanged += wc_DownloadProgressChanged;
                
    wc.DownloadFileAsync(Origin.DownloadUriForThisSystemTempName);
                
    Status "Downloading";
                
    NotifyPropertyChanged("Status");
            }

            
    void wc_DownloadProgressChanged(object senderDownloadProgressChangedEventArgs e)
            {
                
    DownloadPercentage e.ProgressPercentage;
                
    NotifyPropertyChanged("DownloadPercentage");
            }

            
    void wc_DownloadFileCompleted(object senderSystem.ComponentModel.AsyncCompletedEventArgs e)
            {
                
    Status "Installing";
                
    NotifyPropertyChanged("Status");
                
    DownloadPercentage 100;
                
    NotifyPropertyChanged("DownloadPercentage");
                
    Install();
            }
            public 
    void Install()
            {
                
    ProcessStartInfo psi = new ProcessStartInfo();
                if (
    Origin.InstallCommand[0] == '{')
                {
                    
    psi.FileName TempName;
                    
    psi.Arguments String.Format(Origin.InstallCommand"").Trim();
                }
                else
                {
                    
    psi.UseShellExecute true;
                    
    string fullCommand String.Format(Origin.InstallCommand'"' TempName '"');
                    
    int firstSplit fullCommand.IndexOf(' ');
                    
    psi.FileName fullCommand.Substring(0firstSplit).TrimEnd();
                    
    psi.Arguments fullCommand.Substring(firstSplit).TrimStart();
                }
                
    Process p = new Process()
                {
                    
    StartInfo psi,
                    
    EnableRaisingEvents true
                
    };
                
    p.Exited += (sendere) =>
                {
                    
    Status p.ExitCode == "Completed" "Error?";
                    
    NotifyPropertyChanged("Status");
                    if (
    p.ExitCode != && System.Windows.MessageBox.Show("The installation of '" Origin.Title "' may have failed :(\r\nDo you want to try to install it yourself?""Oops"System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                    {
                        try
                        {
                            
    Process.Start(TempName);
                        }
                        catch
                        {

                        }
                    }
                };
                try
                {
                    
    p.Start();
                }
                catch (
    Exception e)
                {
                    
    Status "Broken";
                    
    NotifyPropertyChanged("Status");
                    if (
    System.Windows.MessageBox.Show("The installation of '" Origin.Title "' is broken :(\r\nDo you want to try downloading it yourself? (it may be that the download link is pointing to a page)""Oops"System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                    {
                        
    Process.Start(Origin.DownloadUriForThisSystem.AbsoluteUri);
                    }
                }
            }

            public 
    event PropertyChangedEventHandler PropertyChanged;
            private 
    void NotifyPropertyChanged([CallerMemberNameString propertyName "")
            {
                if (
    PropertyChanged != null)
                {
                    
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }


    It's just downloading and starting the setups in silent shell mode with raising events set to true. So it will not work for some installer engines I bet.

    I would not pay for it, specially when I got the source now. He did not even use more than one project, simple as it is, it has not much logic, that's why.
    Last edited by שเ๒єtгเ๒є; 07-10-13 at 01:03 PM.

  5. #5
    Moderator DriftCity is offline
    ModeratorRank
    Oct 2009 Join Date
    /NapTown/Location
    621Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by שเ๒єtгเ๒є View Post
    App.config:
    PHP Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
          
        </startup>
    </configuration>

    No, it should run for Windows 7 and 8, since it's build with .NET 4.5.
    It will work with desktop programs and it will not work for Windows 8 metro apps.

    InstallingApp.cs:
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    namespace 
    ITSA.Objects
    {
        public class 
    InstallingApp INotifyPropertyChanged
        
    {
            public 
    App Origin getset; }
            public 
    double DownloadPercentage getset; }
            public 
    string Status getset; }
            private 
    string TempName;
            public 
    void Start()
            {
                
    WebClient wc = new WebClient();
                
    TempName System.IO.Path.GetTempPath() + '\\' Origin.Title '.' Origin.Extension;
                
    wc.DownloadFileCompleted += wc_DownloadFileCompleted;
                
    wc.DownloadProgressChanged += wc_DownloadProgressChanged;
                
    wc.DownloadFileAsync(Origin.DownloadUriForThisSystemTempName);
                
    Status "Downloading";
                
    NotifyPropertyChanged("Status");
            }

            
    void wc_DownloadProgressChanged(object senderDownloadProgressChangedEventArgs e)
            {
                
    DownloadPercentage e.ProgressPercentage;
                
    NotifyPropertyChanged("DownloadPercentage");
            }

            
    void wc_DownloadFileCompleted(object senderSystem.ComponentModel.AsyncCompletedEventArgs e)
            {
                
    Status "Installing";
                
    NotifyPropertyChanged("Status");
                
    DownloadPercentage 100;
                
    NotifyPropertyChanged("DownloadPercentage");
                
    Install();
            }
            public 
    void Install()
            {
                
    ProcessStartInfo psi = new ProcessStartInfo();
                if (
    Origin.InstallCommand[0] == '{')
                {
                    
    psi.FileName TempName;
                    
    psi.Arguments String.Format(Origin.InstallCommand"").Trim();
                }
                else
                {
                    
    psi.UseShellExecute true;
                    
    string fullCommand String.Format(Origin.InstallCommand'"' TempName '"');
                    
    int firstSplit fullCommand.IndexOf(' ');
                    
    psi.FileName fullCommand.Substring(0firstSplit).TrimEnd();
                    
    psi.Arguments fullCommand.Substring(firstSplit).TrimStart();
                }
                
    Process p = new Process()
                {
                    
    StartInfo psi,
                    
    EnableRaisingEvents true
                
    };
                
    p.Exited += (sendere) =>
                {
                    
    Status p.ExitCode == "Completed" "Error?";
                    
    NotifyPropertyChanged("Status");
                    if (
    p.ExitCode != && System.Windows.MessageBox.Show("The installation of '" Origin.Title "' may have failed :(\r\nDo you want to try to install it yourself?""Oops"System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                    {
                        try
                        {
                            
    Process.Start(TempName);
                        }
                        catch
                        {

                        }
                    }
                };
                try
                {
                    
    p.Start();
                }
                catch (
    Exception e)
                {
                    
    Status "Broken";
                    
    NotifyPropertyChanged("Status");
                    if (
    System.Windows.MessageBox.Show("The installation of '" Origin.Title "' is broken :(\r\nDo you want to try downloading it yourself? (it may be that the download link is pointing to a page)""Oops"System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                    {
                        
    Process.Start(Origin.DownloadUriForThisSystem.AbsoluteUri);
                    }
                }
            }

            public 
    event PropertyChangedEventHandler PropertyChanged;
            private 
    void NotifyPropertyChanged([CallerMemberNameString propertyName "")
            {
                if (
    PropertyChanged != null)
                {
                    
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }


    It's just downloading and starting the setups in silent shell mode with raising events set to true. So it will not work for some installer engines I bet.

    I would not pay for it, specially when I got the source now. He did not even use more than one project, simple as it is, it has not much logic, that's why.
    He is still improving, it's just a fun project also.
    There are a few websites that have this kind of program but then payed.

    Feel free to give suggestions btw ^^

  6. #6
    Intelligent DoucheBag jur13n is offline
    MemberRank
    Jan 2008 Join Date
    Zwolle,Location
    1,946Posts

    Re: ITSA - Mass Silent installer - Free Open source


  7. #7
    Google my name... Komakech is offline
    MemberRank
    Nov 2011 Join Date
    EnglandLocation
    528Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by jur13n View Post
    Although it has a much larger list to it's name, the GUI looks too simplistic and I'm not a huge fan of it.

  8. #8
    Moderator DriftCity is offline
    ModeratorRank
    Oct 2009 Join Date
    /NapTown/Location
    621Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by jur13n View Post
    Doesn't matter there is something like it already, this is open source also. Big diffrence if you ask me. And ew, when did that website get designed? 1995?

  9. #9
    Maxtraxv3 BDSX is offline
    MemberRank
    Apr 2013 Join Date
    181Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by DriftCity View Post
    Doesn't matter there is something like it already, this is open source also. Big diffrence if you ask me. And ew, when did that website get designed? 1995?
    what is the diffence i like the website, easy and simple to use.

  10. #10
    • ♠️​ ♦️ ♣️ ​♥️ • שเ๒єtгเ๒є is offline
    MemberRank
    Mar 2012 Join Date
    917Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by DriftCity View Post
    Doesn't matter there is something like it already, this is open source also. Big diffrence if you ask me. And ew, when did that website get designed? 1995?
    Let the website out of the game, what did it do to you? D=
    It's simple and fine. *website protection*

  11. #11
    Novice EaterOfCode is offline
    MemberRank
    Oct 2013 Join Date
    The NetherlandsLocation
    3Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by שเ๒єtгเ๒є View Post
    App.config:
    PHP Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
          
        </startup>
    </configuration>

    No, it should run for Windows 7 and 8, since it's build with .NET 4.5.
    It will work with desktop programs and it will not work for Windows 8 metro apps.

    InstallingApp.cs:
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    namespace 
    ITSA.Objects
    {
        public class 
    InstallingApp INotifyPropertyChanged
        
    {
            public 
    App Origin getset; }
            public 
    double DownloadPercentage getset; }
            public 
    string Status getset; }
            private 
    string TempName;
            public 
    void Start()
            {
                
    WebClient wc = new WebClient();
                
    TempName System.IO.Path.GetTempPath() + '\\' Origin.Title '.' Origin.Extension;
                
    wc.DownloadFileCompleted += wc_DownloadFileCompleted;
                
    wc.DownloadProgressChanged += wc_DownloadProgressChanged;
                
    wc.DownloadFileAsync(Origin.DownloadUriForThisSystemTempName);
                
    Status "Downloading";
                
    NotifyPropertyChanged("Status");
            }

            
    void wc_DownloadProgressChanged(object senderDownloadProgressChangedEventArgs e)
            {
                
    DownloadPercentage e.ProgressPercentage;
                
    NotifyPropertyChanged("DownloadPercentage");
            }

            
    void wc_DownloadFileCompleted(object senderSystem.ComponentModel.AsyncCompletedEventArgs e)
            {
                
    Status "Installing";
                
    NotifyPropertyChanged("Status");
                
    DownloadPercentage 100;
                
    NotifyPropertyChanged("DownloadPercentage");
                
    Install();
            }
            public 
    void Install()
            {
                
    ProcessStartInfo psi = new ProcessStartInfo();
                if (
    Origin.InstallCommand[0] == '{')
                {
                    
    psi.FileName TempName;
                    
    psi.Arguments String.Format(Origin.InstallCommand"").Trim();
                }
                else
                {
                    
    psi.UseShellExecute true;
                    
    string fullCommand String.Format(Origin.InstallCommand'"' TempName '"');
                    
    int firstSplit fullCommand.IndexOf(' ');
                    
    psi.FileName fullCommand.Substring(0firstSplit).TrimEnd();
                    
    psi.Arguments fullCommand.Substring(firstSplit).TrimStart();
                }
                
    Process p = new Process()
                {
                    
    StartInfo psi,
                    
    EnableRaisingEvents true
                
    };
                
    p.Exited += (sendere) =>
                {
                    
    Status p.ExitCode == "Completed" "Error?";
                    
    NotifyPropertyChanged("Status");
                    if (
    p.ExitCode != && System.Windows.MessageBox.Show("The installation of '" Origin.Title "' may have failed :(\r\nDo you want to try to install it yourself?""Oops"System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                    {
                        try
                        {
                            
    Process.Start(TempName);
                        }
                        catch
                        {

                        }
                    }
                };
                try
                {
                    
    p.Start();
                }
                catch (
    Exception e)
                {
                    
    Status "Broken";
                    
    NotifyPropertyChanged("Status");
                    if (
    System.Windows.MessageBox.Show("The installation of '" Origin.Title "' is broken :(\r\nDo you want to try downloading it yourself? (it may be that the download link is pointing to a page)""Oops"System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                    {
                        
    Process.Start(Origin.DownloadUriForThisSystem.AbsoluteUri);
                    }
                }
            }

            public 
    event PropertyChangedEventHandler PropertyChanged;
            private 
    void NotifyPropertyChanged([CallerMemberNameString propertyName "")
            {
                if (
    PropertyChanged != null)
                {
                    
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }


    It's just downloading and starting the setups in silent shell mode with raising events set to true. So it will not work for some installer engines I bet.

    I would not pay for it, specially when I got the source now. He did not even use more than one project, simple as it is, it has not much logic, that's why.
    I think you're talking about the engines which download stuff first? because most times those just download an full installation file, which I do now in the app, and if it just doesn't want to work, I just give a link to the install and put a star at the end of the name ;)

    If there are any other install engines that won't work, please report it :) then I will fix it for that

  12. #12
    • ♠️​ ♦️ ♣️ ​♥️ • שเ๒єtгเ๒є is offline
    MemberRank
    Mar 2012 Join Date
    917Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by EaterOfCode View Post
    I think you're talking about the engines which download stuff first?
    In fact I was talking about your method and the installer cases you download. Not every installer is the same, I know of several installers that are not possible to run in shell mode automatically. Most installers need to done by opening and setting the path etc. Only msi files can install in shell mode without any prompt by the user always.


    There are tons of programs in the world wide web, I do not bet you will add all of them that are not working in shell mode by hand. ;)

  13. #13
    Novice EaterOfCode is offline
    MemberRank
    Oct 2013 Join Date
    The NetherlandsLocation
    3Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Quote Originally Posted by שเ๒єtгเ๒є View Post
    In fact I was talking about your method and the installer cases you download. Not every installer is the same, I know of several installers that are not possible to run in shell mode automatically. Most installers need to done by opening and setting the path etc. Only msi files can install in shell mode without any prompt by the user always.


    There are tons of programs in the world wide web, I do not bet you will add all of them that are not working in shell mode by hand. ;)
    Let's get this straight first: UseShellExecute is only true because it then uses the PATH environment variable to look up the location of the "file" I call, so now I can call msiexec for example

    What you're talking about is the silent install command and yes that's true I can't fix all those. And Im not gonna fix them either. Those get a star behind the name (which means I can't silently install them). This app is mainly to make it easier to install all your stuff when you (re-)installed your pc. It can easily save 1-3 hours time to find all the downloads and install them. It's not a Program DB just a boost for your fresh install ;) I real life tested it 2 days ago, it works. (but Spotify is a bitch. "I DONT WANT ADMINISTRATOR RIGHTS EWWW NOOO" fixed it already tho)

  14. #14
    • ♠️​ ♦️ ♣️ ​♥️ • שเ๒єtгเ๒є is offline
    MemberRank
    Mar 2012 Join Date
    917Posts

    Re: ITSA - Mass Silent installer - Free Open source

    good to hear, then keep it up and good luck on your project. =) *admin rights? manifest ftw*

  15. #15
    Novice EaterOfCode is offline
    MemberRank
    Oct 2013 Join Date
    The NetherlandsLocation
    3Posts

    Re: ITSA - Mass Silent installer - Free Open source

    Thanks :D



Page 1 of 2 12 LastLast

Advertisement