Jump to content

kTool (just another software selector)


kenedy

Recommended Posts

Hi,

I'm still struggling with autoit.

I want to place some buttons somewhere else in the window.

It there some graphical tool that can drag & drop the button somewhere else?

Or How does this coordinates works?

like $ComboProfiles = GUICtrlCreateCombo ( "", 390, 30, 110, 30, 0x00200142 )

Link to comment
Share on other sites


Hi,

Attached should be a modified (from v1.1a) version of ktool script, to compile with AutoIt. Also included in the archive is a sample ini file (only the [config] section of it is relevant to these modifications).

Improvement that I felt necessary in my case:

1- A 'Replace' option in the [Config] section of the .ini file

It's a bit like the 'Append' option but the provided value ('CD' works as well as with Append) will replace all instances of the '%KTREP%' substring INSIDE a Run/RunWait/DOS/MSI/REG/WaitProcess/WinWaitClose command string (although I can't see any use for the 2 last ones).

This allow for more flexibility (see .ini example provided) than just the 'Append' option. It could even replace it (but both can be used right now).

Also, using this, WPI would be able to make a better use of ktool, not just using the RunWait command.

2- A 'ListTitle' option in the [Config] section of the .ini file

If provided, it will replace the titles of the GUI and progress windows. Useful to identify successive runs of ktool.

3- in Func GUI (), I replaced all (5) 'GUIRead' function calls by 'GUICtrlRead' calls to have compatibility with latest AutiIt compiler versions (3 something and beta).

If ktool developpers find it useful, please feel free to integrate those little extras. My 0.3 cents.

Also, but not adressed in this file, I found somewhat inconsistent the way ktool deals with " (dble quotes) in commands: it add BOTH of it arround file names in REG command, only ONE at the beginning of file names in MSI command (so you have to put the last one after your file name), and none in other commands.

I feel that it should leave it to the user to add it or not. And also state this in the manual so you don't have to look to the source/log-file-in-temp to see how ktool deals with those quotes.

That's All, Folks!

Thank you very much...

Link to comment
Share on other sites

Hi,

I've downloaded kTool_modified.zip

and the programm won't install anything.

Do I need to make some changes in win_xp.ini?

A peace of my win_xp.ini:

[Config]

Append = \\server\D\pre_install\software

Profiles=|Default|Graphic programs|Updates

DefaultProfile = Default

[Profiles]

Default=|Microsoft Office 2003|EV LV keyboard layout|WinRAR 3.30|Total Commander 6.03|FileZilla (Free FTP client)|Acrobat Reader 6|K-Lite Codec Pack|MyIE2|Fantom CD|VirtualPC 2004|.NET Framework|Media Player 9

Graphic programs=|Acrobat Reader 6|Adobe Acrobat 6.0 Standard|Adobe Photoshop 7.0.1

Updates=|DirectX 9.0b|.NET Framework|Media Player 9|Service Pack 2

[-Antispyware-]

[Windows Defender]

Context = Installing Windows Defender

MSI = Antispyware\Windows_Defender\WindowsDefender.msi

The full path of windowsdefender.msi is \\server\D\pre_install\software\Antispyware\Windows_Defender\WindowsDefender.msi

The path of ktool.exe is: \\server\D\pre_install\installer\ktool.exe

I'm getting this error it's in dutch

Anyone ideas?

post-17072-1141398413_thumb.jpg

Link to comment
Share on other sites

Try encasing the path with quotes like this:

[Windows Defender]
Context = Installing Windows Defender
MSI = "Antispyware\Windows_Defender\WindowsDefender.msi" /qn

As far as i know you need double quotes with this modified version the older version only required a single quote at the end of the file name

Edited by ironside
Link to comment
Share on other sites

Hi ironside,

As far as i know you need double quotes with this modified version the older version only required a single quote at the end of the file name
:no:, I did NOT adress the quotes problem in the previous modified file (you read too fast: I only talked about !). So you still need a single double quote at the end of the file name but NONE at the begining (msi files only).

As I said, I find this quote quantity question quite inquonsistent B) but did not change it since my purpose was only to improve functionality. I did not wanted to take over a development issue without consent from ktool developer (Kennedy).

Since for now (s)he seems busy somewhere else, and provided people are interested, I may adress this issue in a second modification. If I do, it will be in the following way: ktool won't add anymore any quote anywhere. It will leave it to the user to do it in its .ini file.

Do NOT expect me to take over or fork ktool development in any way, though. If I'd do, I would transform it into something like WPI or WIHU!!! Who would need that? ;) Btw, I take the opportunity to thank you back, kelsenellenelvian, you did far more usefull things (and if i may, where does this name comes from? I'm so currious...).

As for Arjanv error:

Most probably you're just lacking the double quote at the end (ONLY) of your file name:

MSI = Antispyware\Windows_Defender\WindowsDefender.msi"

add /qn as shown by ironside to install silently.

Also, I don't see anywhere Windows Defender in your profiles.

How are you using ktool ? with or without GUI ? (Give us the command line you use to run ktool).

And Please, if you still have the problem, translate the error message.

Note: .ini files (such as yours) made for standard version of ktool work as well with the modified version.

Opposite is not true.

If we modify again ktool to adress the quote inconsistency, compatibility will be completely broken !

Link to comment
Share on other sites

  • 1 month later...

hi guys

i recently started look for an app just like this. its a really great app.

have been adding a "AppDesc" command to the ini file so that a user could get back some info about an app in the main dialog. sorry if this dubbles up on the context/desc function

have modifyed action on $listAvaible

Case $msg = $ListAvailable

$tItem = GUICtrlRead ( $ListAvailable )

GUICtrlSetData ($AppDesc ,"") ;remove any text as something else has happened

If $tItem <> "" And StringLeft ($tItem, 1) <> $NonSelectable Then

If CheckList($Selected, $tItem) = 0 Then

$Selected = $Selected & "|" & $tItem

GUICtrlSetData($ListSelected, $Selected)

Else

;MSGBOX("","", "Item already in list") ; might be a good place to tell the user that there already go this app in the list?

EndIf

$tNumber = UBound ( $AvailableArray )

For $i = 0 To $tNumber - 1

If $AvailableArray [$i][1] = "Section" Then ; works on all except the last section because of findnext returning -1?

If $tItem = $AvailableArray [$I][0] Then

For $x = $i To FindNextSection($AvailableArray,$i+1) ; add one so that it does not return the section number that i passed it.

if $AvailableArray [$x][1] = "AppDesc" then GUICtrlSetData ($AppDesc, StringReplace($AvailableArray [$x][0], "\n", @CRLF)) ; allow mutiline comments through the use of \n

Next

EndIf

EndIf

Next

EndIf

i also added the edit at the end of gui creation lines ->

$AppDesc = GUICtrlCreateEdit ("", 390,150,100,100,0x0804)

and added ~line 200 with the only ones to ensure that appdesc becomes part of the array

Case StringLeft ( $tLine, 7) = "AppDesc"

FillArray ($tArray, $tLine, "AppDesc" , $i)

i can post my full code but i am not sure of how many other small changes i made to the app.

Link to comment
Share on other sites

it could possible do with some more work the code,

but i have added a screen shot hope you can see it ok.

main reason i added this to the code was, for informing people that i can't talk to what an app does.

post-93941-1145344851_thumb.jpg

Edited by cvd_army_com
Link to comment
Share on other sites

Here it is, eventually: kTool1.1aY

This is a second modification of kTool with some improvements suggested lastly, and more:

- Get rid of the annoying quote problem. NO MORE QUOTE added by kTool.

-> Now, if you want quote, you'll have to BYO (bring your own).

- As suggested by cvd_army_com a few posts above, display a description of the Item in the GUI part of the prog.

@cvd_army_com: Good shot. Here are the adaptations I made to your code above:

- use of the 1st '
Description
' directive in a section instead of a new '
AppDesc
' directive.

- no use of the msgbox: I find more annoying to have to click ok (or press a key) to close it.

- repair the breaking for the last item.

- spread the multiline replacement to the Install part, where '
Description
' directives are used in 1st place.

- Most important:

I've adapted the 'Replace' directive introduced in the last modified version (kTool1.1aX) to be much more flexible:

-> you can now use any variable name. Just provide the
name
together with the value, separated by a '-->':

e.g.
Replace = %PP%-->D:\install\

or
Replace = %myVar%-->CD

The only drawback of all these is that you'll have to adapt your .ini files to match the changes:

- adapt your 'Replace' directive

- and insert quotes where needed: arround paths or argument with spaces.

Good news, tho: I made those modifications because they were needed by another prog I've just finnished and that writes those .ini files for you! Well, it also writes RunOnceEx.cmd, config.js, install.ini & xplode.xml... There it is.

v1.1aY.au3

Edited by Djé
Link to comment
Share on other sites

  • 5 weeks later...

Hi, just found this and looks great for my needs!

I have a question, I want to add a line to install a driver (executable file) without switches (manually clicking through setup). The setup will want to reboot afterwards but I want ktool to continue after reboot.

Do I do this:

say "reboot later" to the setup question and then put the line

Reboot = 1

after the runwait command?

Link to comment
Share on other sites

The setup will want to reboot afterwards but I want ktool to continue after reboot.

Do I do this: say "reboot later" to the setup question and then put the line Reboot = 1 after the runwait command?

Yes.

Using a Reboot = 1 command will reboot right then (modulo a $RebootTimer period), after having scheduled itself to restart from where it stopped at next login (HKCU\...\RunOnce).

Link to comment
Share on other sites

Here it is, yet another version of the forked version :P

CHANGELOG:

*kToolv1.1aY ---> 'Genuine forked' version ;)

*kToolv1.1aY.1 ---> THIS version:

- Repaired the help message (spaces missing before splitting '_'s) in Func CommandLine

- FEATURE: All 'config' options defined in the \config\config.ini can now be rededined in the 'Config' section of you installation .ini file.

-> \config\config.ini is not needed anymore to customize kTool, except for translated strings, if really necessary.

- Corrected a small bug with the default title when none is provided.

- Removed the $Logging variable and options, as it was not used anymore (use $Log).

This new version is compatible with the previous one. It has just *more* possibilities...

Which will be used in the next version of the excel Progs Lists Manager. Stay tuned!

kToolv1.1aY.1.au3

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...