Help - Search - Members - Calendar
Full Version: Don't get dependencies to work,
MSFN Forums > Member Contributed Projects > Windows Post-Install Wizard (WPI)

   


Google Internet Forums Unattended CD/DVD Guide
AlBundy33
I have an application X which depends on application Y - but the checkbox for application X is always disabled?!?

Does anybody see the problem?

Is it also possible to indent the entries?
e.g.
CODE
[ ] app1
     [ ] app1.1


Thanks

Al

Here are my config files:
CODE
// WPI Config 7.7.0+
//
// User defined options
//

// Configurations tab
Configurations=[''];
ShowMultiDefault=false;
CheckOnLoad='none';

SortOrder=['PreInstall','Kategorie 1','Kategorie 2','PostInstall'];

pn=1;

prog[pn]=['Anwendung 1.2'];
uid[pn]=['Kategorie 1#Anwendung 1.2'];
desc[pn]=['<div style="padding:5px;"><b style="white-space:nowrap;">Freeware/OpenSource</b><br/></div>'];
ordr[pn]=[4];
dflt[pn]=['no'];
bit64[pn]=['no'];
deps[pn]=[''];
forc[pn]=['no'];
cat[pn]=['Kategorie 1'];
picf[pn]=['InstallPackage.png'];
picw[pn]=['128'];
pich[pn]=['128'];
textl[pn]=['Left'];
cmds[pn]=['"%ROOT%\\Anwendungen\\Kategorie 1\\Anwendung 1.2\\test.cmd"','""%ROOT%\\Tools\\parsecommands.cmd" "%ROOT%\\Anwendungen\\Kategorie 1\\Anwendung 1.2\\unattended_151.inf""'];
pn++;

prog[pn]=['Anwendung 1.2.1'];
uid[pn]=['Kategorie 1#Anwendung 1.2#Anwendung 1.2.1'];
desc[pn]=['<div style="padding:5px;"><b style="white-space:nowrap;">Freeware/OpenSource</b><br/></div>'];
ordr[pn]=[5];
dflt[pn]=['no'];
bit64[pn]=['no'];
deps[pn]=['Kategorie 1#Anwendung 1.2'];
forc[pn]=['no'];
cat[pn]=['Kategorie 1'];
picf[pn]=['InstallPackage.png'];
picw[pn]=['128'];
pich[pn]=['128'];
textl[pn]=['Left'];
cmds[pn]=['"%ROOT%\\Anwendungen\\Kategorie 1\\Anwendung 1.2\\Anwendung 1.2.1\\test.cmd"','""%ROOT%\\Tools\\parsecommands.cmd" "%ROOT%\\Anwendungen\\Kategorie 1\\Anwendung 1.2\\Anwendung 1.2.1\\unattended_151.inf""'];
pn++;


CODE
// WPI Options 5.0+
//
// User defined options
//


// Window tab
Resolution=0;
MainWindowWidth=800;
MainWindowHeight=600;
MainWindowX=-1;
MainWindowY=-1;
InstallerWindowX=25;
InstallerWindowY=25;


// Style tab
Theme='Server';
BgPicture='';


// General tab
NumCols=3;
// ---
Timer=false;
Seconds=300;
StartBeepAtSecs=10;
// ---
Language='de';
// ---
ShowExtraButtons=true;
DoNotShowIfCD=true;
USSFSilentMode=false;
VerifyInstallHDD=false;
AllowCheckForInternet=false;
LoadDesktopBeforeInstall=false;
ReOpenAfterInstall=false;
DisableCatCheckBoxes=false;
SortWithinCats=true;
DisableOnDepsNotMet=true;
AlwaysUseScrollBar=false;
DontSplitCats=true;
InstallByCategory=false;
ReallyForce=false;
DisableIfDoGray=false;
InstallFonts=false;
ShowCommandInInstaller=true;
ShowInstallerImages=true;
AlwaysShowOutputWindow=false;
DoDebuggerCheck=false;
// ---
DefaultInstallPath='default';
CustomInstallPath=[''];
// ---
ShowToolTips=true;
UseTransitions=false;
IndentText=true;


// Audio tab
PlayAudioInInstaller=false;
InstallAudio=[''];
Volume=50;
Shuffle=false;
CopyAudioFolder=false;
CopyAudioPath=['%systemdrive%\\WPI_Audio'];
DeleteAudioFolder=false;


// Tools tab
MonitorResolution=0;
MonitorDepth=0;
MonitorRefresh=0;
// ---
ExecuteBeforeEnabled=true;
ExecuteBeforebit64=false;
ExecuteBefore=['"%ROOT%\\Tools\\preWPI.cmd"'];
ExecuteAfterEnabled=true;
ExecuteAfterbit64=false;
ExecuteAfter=['"%ROOT%\\Tools\\postWPI.cmd"'];
// ---
RestartComputer=false;
RestartType=0;
RestartSeconds=30;
DoNotLoadDesktop=false;
// ---
LogInstallation=true;
LogPath=['%systemdrive%\\WPI_Install.log'];
TimeStampLogFile=false;


// Sounds tab
SndWPIStartCB=false;
SndWPIStart=['"%wpipath%\\Audio\\SoundsScheme\\Alert.wav"'];
SndInstallStartCB=false;
SndInstallStart=['"%wpipath%\\Audio\\SoundsScheme\\AtBeginning.wav"'];
SndInstallSuccessCB=false;
SndInstallSuccess=['"%wpipath%\\Audio\\SoundsScheme\\Yes.wav"'];
SndInstallFailCB=false;
SndInstallFail=['"%wpipath%\\Audio\\SoundsScheme\\No.wav"'];
SndInstallFinishCB=false;
SndInstallFinish=['"%wpipath%\\Audio\\SoundsScheme\\AtEnd.wav"'];
SndWPIExitCB=false;
SndWPIExit=['"%wpipath%\\Audio\\SoundsScheme\\Exit.wav"'];
AlBundy33
First problem was due to invalid UIDs - now I only use A-Z, 0-9 and _ and it works.

Now: Is there a way to indent applications which are depending on other apps?

Thanks

Al
Kelsenellenelvian
QUOTE
Now: Is there a way to indent applications which are depending on other apps?


Not yet shifty.gif
mritter
I have had the sub-item code done for quite awhile now. I have not included it yet because it relies 100% on Install Order values. I have posted at least twice on how to accomplish this: force values in if not there with no consideration of other values, leave it up to the user, etc. I got next to no replies.

I have been working on it more, but again, not sure how to force an Install Order value. For sub-items to work the "parent" has to have a value. I have played with opening a requester asking for it. Then sub-items would be n.001, n.002, etc.

It will probably end up with a new tab in the Config Wizard. Just a matter of sitting down and making a decision that I feel is right and not worry about what the masses will think.

But right now I am in the middle of another big project. The next version is going to be HUGE.
Kelsenellenelvian
DAMNIT man don't give away all of the secrets tongue.gif
AlBundy33
QUOTE (mritter @ Aug 12 2009, 06:55 PM) *
The next version is going to be HUGE.

Sounds interessting - any facts about that?

But first back to my indention-problem. :-)

Why not create a property parent[pn]=['UID_OF_PARENT']
Now this entry should be displayed under the parent (with an indention of course).
--> Installation can be done on install-order - group should only be a ui-thing.

It would be also great if also sub-items of sub-items of sub-items could be defined.

Al
mritter
Are you reading my mind? That is what I am doing, but I can't "look ahead" to where in the config the children are. They have to be right after the parent's install order so when the items are laid out they will be sorted by install order under each category, not by name. It's a mess right now. I am thinking about it all the time, working things out in my head. I will get it figured out..........
AlBundy33
What about this:
instead of
parent[pn]=['UID_OF_PARENT']
user
registerChildren('UID_OF_PARENT', 'UID_OF_CHILD')
So after loading config.js you already know the structure.

While you create the categories you can check if there are any children which have to be rendered under the current entry.
After the child is rendered you can mark it as rendered and ignore it next time.

Al




Google Internet Forums Unattended CD/DVD Guide

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.