IA16 Wishlist

Got a problem you cannot solve? Try here.
Obliterator
Posts: 53
Joined: Fri May 01, 2009 11:54 am

IA16 Wishlist

Postby Obliterator » Thu Feb 14, 2013 10:15 am

I'm a current IA9R2 user who is very satisified when using IA. It reallly has taken a lot of the pain out of our setups.
However, I keep looking at recent releases and although I see you've added a lot with regards to native setup and virtualisation its not really heading in a direction of interest to me. I wondered if I could list my suggestions for things I hope to see improved in the future...
Hopefully others will add their thoughts too...

IA16 Wishlist - In no particular order
-------------

General:
Make project file formats XML for better integration with GIT/SVN. The existing accompanying text file is generally sufficient to see what changed but would prefer XML file that can be selectively edited/merged when needed.
Parse sub-scripts (like autogen and my custom scripts) then reflect contents in the UI (my files, web media, etc). Currently only main script is shown visually in the UI.
Improve startup time of my setup (particularly after initial progress was shown). I now show a dialog whilst pre-requisites are scanned which helps.

Minor Bugs:
Pressing DEL whilst renaming a feature name deletes the feature (should only delete a character whilst editing the item text)
Commenting in/out If/Else/End statements does not re-nest the code (ie. needs re tabulating)
Make Home/End keys function like other editors (i.e. beginning/end of current line by default, ctrl modifier for entire file).

VSAddin:
Allow me to store my IA setup outside the solution folder yet still use the VS addin. Add an entry to my solution file (or alongside it) stating the full IA project location.

Build
-----
Batch build window is often hidden in background. Possibly fixed already.
Try to get read-only access to files that are in-use before failing.
Add retry option to build process if it bombs due to some file being in use.
Web Media Blocks:
Add option to 'Build Only If Changed'. Do this by hashing the files in the webmedia block and comparing with previous hash last time the file was built. I know about your skip feature, but I'd rather have 'skip unless changed'.
Output web media blocks using the file names I chose (matching case!). Currently names are converted to lowercase - breaks when I upload to unix which is case sensitive.
Each web media block build changes just one byte in the 7zip file (assuming no files in it changed) - this causes version control to store the whole binary file thinking it has changed. Prefer this byte didn't change!
Allow password protected media without requiring password protected setup.
Allow username/password to be set for download URL of webmedia (allow this to be customised at runtime by asking user for their credentials to my site).
URLs can include variable names which is great. Can the output filenames?
Downloading of webmedia currently uses caching in temporary internet files, would like an option to disable this. I agree with it using local copies alongside the setup file, but not cached temporary copies. My workaround for this is to add a random variable to the URL as a get parameter.
Fix web media so I can include two variants of same file according to logic (or warn me when I do this that one will be overwritten). (Reportadly fixed in IA12, but wasn't for me)

Build Types:
Allow output filename name to be configured per build type. Use variables in here. Giving me 'MySetup$VERSION$.exe' for web builds and 'Setup.exe' for Uncompressed (for example)

Deployment:
Add publish build to website/ftp capability.
Need publish settings per build type and control of publish paths to main file and each webmedia block.
Publish button should be shown on batch build dialog and enabled after successful completion of all builds.
Option to auto-publish if all builds complete successfully.

Security - (more question than suggestion)
--------
The current update script prompts the user for username/password to run the scheduled update task...
Can you confirm the values entered by the user are treat securely and will not appear in the setup/MSI logs?
I presume the Windows Task Manager stores this information securely in the task entry?

Scripting Enhancements
----------------------
Improve 'If...' logic so I can bracket parenthesis easier (basically an easier inline version of Eval).
Add 64-bit registry access that works - my IA9R2 maps things to Wow64 erratically (think you have fixed this in IA10).
Allow Conditional Merge Modules: Allow conditions to be set for merge modules. Allow MSI parameters to be defined and passed through to the merge modules.
Improve scheduled task options:
Support Windows 7 task items giving extra options like run next time user logs on if scheduled time is missed, etc. This should allow for improvements to the auto-update mechanisms.
Scheduled Task create/remove facility that works in 64bit mode (have to toggle setup mode to x86 for this to work)
ARP:
Ability to set product name in ARP applet in project settings (I don't always want it set to $TITLE$).
Publish other ARP parameters (specifically version and size) automatically.
Enhance string functions:
The current string functions just split on patterns. Would prefer greater manipulations and ability to work with indexes...
Add StrLen function to return length of a string
Add StrContains(SubString, StartAt, CaseSensitive) function to return the position at which a substring is found (options where to start and case sensitivity). Return -1 for no match.
Add StrContainsOneOf(CharGroup, StartPos, CaseSensitive) function. As above but matches any character from a group of characters
Add SubStr(From) function to split a string at a given position (from specified position to end of string) - equivalent to Mid()
Add SubStr(From, NumChars) function. As above but limit returned length of sub string - equivalent to Left or Right.
Add Trim(CharGroup, Left/Right/Both) function - trim any character in the group from beginning/end/both ends of string
Add Trim(NumChars, Left/Right/Both) function - trime a number of characters from the end of a string
Add Path functions:
Add ResidesIn(Folder1, Folder2) - does folder1 reside within folder2 (resolves special/relative paths where appropriate)
Add IsParentOf(Folder1, Folder2) - same as above but reverse logic
Add DoesLimitedUserHaveWriteAccess(Folder) - Can a normal limited user write to the specified folder
Find All Files:
Seperate search path and filename wildcards. To allow filename wildcard search in subfolders. Eg. C:\WinSxs\ amd*mfc*.dll
MessageBallon:
Clicking on ballon should re-open setup window (not just systray icon)
Internet:
Add function to retrieve webpage. E.g. GetWebPage (GET/POST, URL, POSTDATA, STATUS, RESPONSE, SSLCERTVALID)
Add functions to parse webpage response (e.g. pull out an XML variable returned).
TerminateProcess:
Need to be able to terminate process.exe by process filename - not just window title (which can change according to open files in the app)
VC Runtime Check:
VC80 and VC91 runtime checks are not bit-wise sensitive. They look for first matching MFC dll (without checking amd64 or x86 folder name)
Set Folder Permissions:
Doesn't seem to work for me in IA9R2. Tried it after Apply Install - seems to have no effect.
DIFx:
Fix DIFx install (currently bundles the wrong platform exe in hybrid x86/x64 installs so driver installation fails - this is not fixed even in IA12, I have to roll my own DIFx support at the moment). IA Bundles wrong platform variant of DIFx in the package - particularly in hybrid scenarios where drivers for x86 and x64 are installed in the same webmedia block section.
Make it clear in the UI that other .infs in the folder will be installed not just the one specified (you do document this in the help already, but I missed that and made several calls unecessarily). Also note that each .inf must be listed manually when uninstalling (opposite to when installing). Suggest specifying a folder then listing .infs with tickboxes (all tickboxes checked when installing).

Dialog Enhancements
-------------------
Improve UI interaction. Allow-mini scripts on button press / events. For example, allow me to update some UI elements when a radiobutton is clicked (e.g. enable/disable other controls), or when a text box is changed. Currently have to wait until the dialog is closed to respond to actions.

Runtimes
--------
Provide true hybrid support for runtime checking/installation:
Scripts should not generate error when running on differing platforms.
Improve runtime selection dialog. Suggest listing each runtime with 4 tickboxes: x86, x86 Wow64, x64 and [optionally] Setup.
x86: checks/installs the 32-bit runtime when on 32 bit platforms
x86: Wow64 checks or installs the 32-bit runtime when on 64 bit platforms
x64: checks or installs the 64-bit runtime when on 64 bit platforms
The selected runtimes would checked/installed during pre-requisite phase of setup [except during an uninstall].
The runtimes are never removed during an uninstall.
Setup: this option would force the check/install even during an uninstall scenario (handle rare cases where runtimes are used by setup script itself).


Updates
----------
Add autoupdate at start of setup (understand IA15 does this - great!)
Improved update routines - that work reliably using task scheduler - for both admins and non admins alike. Run updates even if the user wasn't logged on at the time (i.e. next opportunity) and don't require silent mode to work.
Fix issues in the current update checking routines that generate occaisional access violations and out of memory errors on user's machines.
Improve upgrade experience from older versions (e.g. list what is new to that user since their version to the latest, rather than just latest)
Option to output your updates.ini as an xml file instead
Add an API and DLL I can call from my app to query update availability and launch updater
Integrate update scheduler setup into main script (not after installation)


Possibly Fixed Already
----------------------
Avoid GUID folders in the ProgramData folder. (Reportadly fixed in IA14, need to verify). Should reside in Downloaded Installations folder (C:\Windows\Instaler?) Should be removed after upgrade or uninstall.
Fix random build failures with some .net assemblies


Sorry for such a long list, I've been compiling it over the various years I've used IA!!!

Return to “Technical Support”

Who is online

Users browsing this forum: Google [Bot] and 56 guests