Quantcast
Viewing all 2105 articles
Browse latest View live

_SourceFilename Issue

Hey guys!

Documentation for this global states:
Quote:

_SourceFilename
The full path and filename of the installation executable (e.g. "C:\Downloads\setup.exe").
This is true only at Installation; at uninstallation, it points to [uninstallpath\]uninstall.exe.
As it happens, I need the same information from the same file (i.e. the version of the installer executable) for logging back to a server. Yes, I could work around this by storing the value in the registry at Install time, but shouldn't _SourceFilename be what's documented regardless of whether we're installing or uninstalling?

Thanks!
DDoutelMS

Wondering why /CONST: doesn't seem to work?

I have a number of SessionVars whose values I have set to design-time constants, like so:

%SessionVar% #SessionVarValue#

This works for the built-in design-time constants, like #ISODATE#.

The constants are first defined in the project with empty values, on the Constants tab. They are then also defined in constants.ini, with the actual desired values, like so:

[constants]
#SessionVarValue#=Desired value
...


At the commandline, from the folder containing the .SUF, I call SUFDesign so:

sufdesign /build /const:constants.ini <projectname.suf>

The project builds, and ends up where it is supposed to, but a Dialog.Message displaying the value of two of the SessionVars whose values I've set to the Design-time constants defined per above shows them to be empty.

Have I missed something?

thanks in advance!
DDoutelMS

Need to Set Compatability to XPSP3 for WIN 7 64-bit for all users

================================================== ====
Using Setup Factory version 9.1, I would like to set Set Compatability to XPSP3 for WIN 7 64-bit for all users for a VB6 exe.

I am able to set the compatability for the current user with the following code, but, I cannot get the HKEY_LOCAL_MACHINE version of the code to write the registry entries for all users on a 64-bit computer (but I can do this on a WIN7 32-bit computer):

Please let me know if this can be done (and how).
================================================== ====

if (not Registry.DoesKeyExist(HKEY_CURRENT_USER,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers")) then
-- create the key for storing the flag
Registry.CreateKey(HKEY_CURRENT_USER,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers");
end
-- create AppCompatFlag in HKCU
Registry.SetValue(HKEY_CURRENT_USER,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers",
SessionVar.Expand("%AppFolder%\MyApp.exe"), "WINXPSP3", REG_SZ);


=============================================
Here is the code that functions for WIN7 32-bit(but not 64-bit):
=============================================
if (not Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers")) then
-- create the key for storing the flag
Registry.CreateKey(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers");
end
-- create AppCompatFlag
Registry.SetValue(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers",
SessionVar.Expand("%AppFolder%\\MyApp.exe"), "WINXPSP3", REG_SZ);

Setup for 32 bit and for 64 bit (trouble with System32 and SysWOW64

Hi!

I am wondering if Setup Factory 9 offers a way to build a setup for x32 and for x64. At the moment I can only select either a x32 or a x64 setup in the build configuration.

With this options I have an urgent issue:
I have two DLLs which have to be correctly installed depending on the OS (32/64 bit).
Unfortunately I can't get it work properly.

I have
- my32bit.dll
- my64bit.dll



Under a 32 bit OS I need these DLLs under:

C:\Windows\System32\my32bit.dll
my64bit.dll not needed.


Under a 64 bit OS I need these DLLs under:

C:\Windows\SysWOW64\my32bit.dll
C:\Windows\System32\my64bit.dll

Unfortunately, at the moment both dlls will be installed into the same location (having a 64 bit system):
if I choose a 32 bit setup, both go into SysWOW64
if I choose a 64 bit setup, both go into System32


Question 1:
How can I force the my32bit.dll to be installed into WOW64 under 64 bit?

Question 2:
Can I solve my issues with only one 32 bit setup?

Thank you in advance.

Register 64-bit DLL from 32-bit installer

Self-registering a 64-bit DLL from a 32-bit installer fails. Then I found this article and WOW64 plugin which sounds like a possible solution, but how should I use it?

The installer adds the 32-bit OCX and self-registers it, no problem. Then if the system is detected as being 64-bit it adds the 64-bit OCX to %CommonFilesFolder64%\folder.

But now I need to either self register it or create the registry values as if it was self-registered. Seeing a scripted example might help.

Can two SetupFactory installers run in parallel?

If another process kicks off two SetupFactory installers at the same time, could they potentially step on each other, causing one or both to fail?

Questions: Does it support doing an update and selecting specific things to install

I have two questions here:

1. After doing an install I will release an update version afterwards and I was planning to have an upgrade process going (update/add files instead of doing uninstall first), is there an build-in way to do this or do I need to script the entire process? Are there any example modules or at least "recommended way" for doing this?

2. During installation process I wanted to give an option to a user what to install (eg: Full app or just an agent or both), how does Setup Factory handle that?

Thanks!

Trying to run exe from onclick next in screen 1 before loading screen2

Hello, I have an installer ive been working on for some time setup like so

Before installing
-screen1
-screen2 ...
-screen7
While installing
progress bars
---------------------irrelevant up to this point--------
essentially my installer extracts a group of files to c:\%ProgramFilesFolder%\%AppFolder%\ some including install.cmd and update.exe.
__________________________________________________
After Installing
-internet connection check (custom screen by ulrich)
-Finished Install
-Updating
-Updating Finished
-Update Error

i have the icc page check a specific website to verify that update.exe can connect to where it has to and the problem is not on our end.

From the icc I send the installer to update error if a connection cannot be found which basically tells the user our download server is offline or they have a connection problem. If the connection check passes the installer sends the user to 'updating'

The page "Updating" is where Im having my problem, I have tried several things but nothing is working. First of all the program update.exe is not mine and I have no way to change how it works, that being said what Im trying to do is onClick next run the file update.exe with the argument silent=true. It will close by itself when finished. I do not want the "updating" screen to pass the user to "update finished" until update.exe has been executed and closed.

I have tried to add the File.Run command of update.exe with
Args of "Silent=True"
Window Mode SW_HIDE
Wait for return true

looks like this

Code:

-- These actions are performed when the Next button is clicked.
result = File.Run(SessionVar.Expand("%AppFolder%\\Update.exe"), "Silent=True", "", SW_HIDE, true);
-- advance to the next screen
Screen.Jump("Update Finished");

when I build the installer, Im given an error "URL:Protocol Incorrect" after clicking next on that page

next I tried building a cmd file that simply has the following

Code:

@echo off
start /wait Update.exe silent=true
exit

If I double click this everything works perfectly, if I call installsilent.cmd from File.Run

result = File.Run(SessionVar.Expand("%AppFolder%\\installsi lent.cmd"), "", "", SW_HIDE, true);

I get an error that says cannot find update.exe I know my directories are setup right because if i ignore the errors and browse to c:\program files\ttttttt\ and double click installsilent.cmd it runs and everything is downloaded fine.

So thats what Im trying to do, any other ways to go about doing it are welcome as long as update.exe runs with silent=true after checking for an internet connection.

Session Variable in License Agreement Screen not expanding

I am flummoxed. I have included a License Agreement Screen in my SUF9 script.

In the License Agreement Preload Action, I have this code:

Set.SessionVariable("%LicenseText%","Hello World");


Then in the Settings I select Plain Text and specify this text:
%LicenseText%

However, when I run the install, when I get to that screen, it simply shows the text:
%LicenseText%
instead of
Hello World

Am I using this the right way?

Thanks.

Specifying available port for the application installation

Hey guys, I know this might not be specific to Setup Factory here, but I was wondering what is the "typical" way that installers determine that port is available? After searching I wasn't really able to find anything specific for how installers deal with it, so this is the best thing I could come up with right now:
1. On port screen (or startup) a netstat command will run and output to a file in a %TempFolder%:
nestat -an
2. I will then parse the file for all the ports which are there (regardless whether LISTENING or ESTABLISHED) and if person enters one of these ports then I would give an error that they need to specify another port which is available.

Do you guys by any chance know if this is the "normal" way to do this or is there some other way?

Thanks!

Developing Plugins?

Where do I find the documentation for developing Plugins for SUF9? I assume I use C/C++? Thanks.

create desktop shortcut to other program unrelated to install.

Hello, Is it possible to create a shortcut to a file that would be previously installed on the target computer if I don't know where the file is installed at?

I searched and found this which is sorta what I want to do, but that is to a different indigo program.

Best example I can give, is if I wanted to create a desktop shortcut to the program wow.exe from within my installer, where wow.exe is the game file for world of warcraft, but I dont know where the target installed the game, I believe I can check in

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Blizzard Entertainment\World of Warcraft

where I know a string "InstallPath" is that has a value of (in my case) C:\Program Files\World of Warcraft\

My problem is Im not sure that is the correct key or if it will be the same on every computer. And once I have that information how do i create a shortcut to %InstallPath%/wow.exe

if it makes any difference I want the shortcut to run the file with admin privileges.

Localization - problem with non alphabetical languages

Hello,

I am having trouble with displaying Chinese on a English Windows. My localized installer works fine on a Chinese Windows but when I try it on a English Windows, it shows characters in ASCII (Something like this "´ËÏòµ¼½«ÔÚÄúµÄ¼ÆËã»úÉϰ²×°")

In my setup, I let the user chooses the language from the combo box then use Application.SetInstallLanguage() to set the corresponding language. It works fine as long the language is alphabetical language. If I replace the ASCII charaters with the actual Chinese characters, it will show up as "??". As if Setup factory doesn't handle unicode or something.

I've tried InstallShield on the same machine and it could display Chinese characters fine. It appears that Setup Factory has some limitation in this area? Or perhaps there are tricks to get this to work?

Thanks for any help.
CyberHP

Checking / Installing MSXML.6.0

Hi Everyone,

I was wondering if you can incorporate as MSI from microsoft into your own project. My program requires that the user has the right version of MSXML.dll on there system. I can get the service pack from Microsoft and use it that.

i was just wondering if I can use it in my script rather than the user have to run two MSI?

Any thoughts welcome thanks

Regards

Martin

Check if application EXE in use

Hello,

Is there a way to check if an application EXE in the target path is already in use, either running on the installation PC OR another PC on the network via shared executable? I'd like to check and abort the install immediately if it is in use.

Thanks,
Dan

Signed driver installation (inf & cat)

Hi,

I would like to install a signed inf file with a cat file. When I try to run “PnPutil” form SetupFactory I get an error “file not found”.
Here is the source:
Shell.Execute(SessionVar.Expand("%WindowsFolder%") .."\\System32\\PnPutil -i -a myinf.inf", "open", "", "", SW_SHOWNORMAL, true);
But the file is on “c:\windows\System32\PnPutil”. If I run it on the command line it works.
Is there any other way to install the inf file?

Thanks for help.

Patrick

add a button to stop background music in while installing.

I manage to play mp3 music in background but i want to make a button to stop it during while install, but I can't find on ctrl message to control the button. please help me. how I can control a button in while install process ?

Background window localizing - how to?

Can somebody explain me how to localize the text in the background window, that's the text of the Heading, the Subheading and the Footer?

I searched the help and this forum, but unfortunately without success.

Maybe it's not possible at all, I don't know.

Language questions and issues.

Hey folks,

We're preparing to integrate Setup Factory 9 into a very complicated build process, for which we need to use a /CONST: file at the SUFDesigner command line. The problem I'm having is in inputing foreign language characters as the value of a constant in the .ini file, and having those exact chars show up in, say, a Dialog.Message. To test, I've added the Japanese language to the SUF project, and set it as the default language for the project. Obviously, the other language is U.S. English. I've installed the Japanese language support under Win7, and then used the language toolbar to set Japanese as the input language. At one point, I'd even set the system's location and locale in control panel to Japan. When I build and run the test .suf specifying the /const: file, the test does indeed read the value from the .ini, but when it's displayed, the characters displayed in the Dialog.Message do not match those it read from the .ini file. Bottom line, I don't know if I'm testing this correctly, or... Can anyone, particularly Ulrich, provide any guidance with this?

Many thanks, folks!
DDoutelMS

Desktop Shortcut for Windows 8

I have Version 9.1. and it functions great under Windows 7. My program's shortcut is placed on the desktop as it should be.

The problem is that it doesn't put a shortcut on the desktop of Windows 8.

Yes, W8 is checked in System Requirements.

I'm sure that I am missing something, but I can't seem to get Setup Factory to put the shortcut icon on the desktop.

Any help would be appreciated.
Viewing all 2105 articles
Browse latest View live