Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I need to do complex dependency processing during the installation of our solution, install a few related programs from their own installers and also probably run a few simple tests to determine performance of the machine to choose the right parameters for our application.

I'm thinking something like Lua would be a great fit for this task, yet all scripting in installers I found so far is something like Pascal script of Inno Setup which leaves a lot to be desired and NSIS scripting language is nonexistent.

I guess I'm missing something really obvious here as my task is not unique and has probably been solved before.

share|improve this question

closed as not constructive by gnat, GlenH7, Glenn Nelson, World Engineer, ChrisF Jan 29 '13 at 22:58

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
When I saw the title, I was going to suggest InnoSetup. It's a wonderful installer, and I've never had any problems with its scripting. What problems are you having? –  Mason Wheeler Jan 29 '13 at 21:20
1  
What solutions have you looked at so far? –  jimwise Jan 29 '13 at 21:24
    
@MasonWheeler the problem is my Pascal skills are rusty as I haven't been using it for about ten years. Honestly I'd like to see a real scripting language in the installer but probably I'm asking for too much. –  Moonwalker Jan 29 '13 at 21:24
    
@jimwise InnoSetup and NSIS –  Moonwalker Jan 29 '13 at 21:25
1  
It's relatively easy to use WMI library from within Inno Setup. E.g., see RRUZ's example of checking for running processing within Inno Setup here. This should be sufficient to get basic performance-related data (RAM, CPU speed, etc.) –  Brian Jan 29 '13 at 21:25
show 4 more comments

1 Answer

(Re)Learn pascal and use InnoSetup. You can have innosetup to execute other programs written in your favorite language (after innosetup has installed it) and get the results.

I personally work in PHP on windows. Innosetup drops a basic installation of the PHP interpreter and I call PHP programs.

share|improve this answer
    
It seems you are right and this is the only way. btw won't anti-virus software kill those scripts deployed by Innosetup fearing it could be a virus? I don't want to make my users to turn their anti-viruses off. Now I actually see why there is no decent scripting in installers: anti-viruses killed it. –  Moonwalker Jan 29 '13 at 22:11
    
On a second thought could you show and example of how do you drop basic php installation and call php programs from Innosetup. –  Moonwalker Jan 29 '13 at 22:30
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.