Salut à tous,
J'ai un truc qui m'énerve depuis 2h, je viens donc appeler à l'aide !
Dans mon script, je vais rechercher sur la disquette (A:) si le fichier license est là.
Si il y est, je copie ce fichier dans le répertoire d'installation du programme (répertoire choisi par l'utilisateur précédemment)
Or mon problème est que mon script copie mon fichier dans le dossier contenant l'installateur (Setup.exe) ><
Voici la partie de code qui copie mon fichier :
// Copier le fichier tee_pso.lic
CopyPasswordFile:
bPasswdInstall = FALSE;
retBox = AskYesNo("Do you want to install the license file ?", YES);
if (retBox) then
szSrcDir = SRCDIR;
strResult = "A:\\";
if (GetSystemInfo(DRIVE, nvResult, strResult)=0) then
if (nvResult=IS_REMOVABLE) then
szMsg = "Put the 'Password' floppy disk in drive A:\n and click on the 'Ok' button";
MessageBox(szMsg, INFORMATION);
TARGETDIR = svMainDirectory;
SRCDIR = "A:\\";
// Chercher le 'ComputerName'
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
szRegKey = "SYSTEM\\CurrentControlSet\\Control\\ComputerName\\ComputerName";
szName = "ComputerName";
RegDBGetKeyValueEx(szRegKey, szName, nvType, svValue, nvSize);
// Construire le nom du fichier de licence
passwordfilename = "tee_pso_" + svValue + ".lic";
fullpasswordfilename = SRCDIR ^ passwordfilename;
#ifdef DEBUG
szMsg = "Fichier de licence recherché : " + passwordfilename + "\n\n";
MessageBox(szMsg, INFORMATION);
#endif
if (GetFileInfo(fullpasswordfilename, FILE_SIZE, nvResult, szResult)<0) then
szMsg = "Can't find '" + passwordfilename + "' on floppy disk\n\n";
szMsg = szMsg + " -> You will have to copy it manually\n\n";
MessageBox(szMsg, WARNING);
goto DisplayEndMessage;
else
// svLicenseDirectory = "C:\Program Files\TEE_PSO\Flexlm\tee_pso.lic";
retBox = CopyFile(passwordfilename, "tee_pso.lic");
if (retBox<0) then
szMsg = "Unable to copy '" + fullpasswordfilename + "' to " + TARGETDIR;
#ifdef DEBUG
NumToStr(szTemp, retBox);
szMsg = szMsg + " Code d'erreur " + szTemp + " \n\n";
#endif
MessageBox(szMsg, SEVERE);
abort;
endif;
bPasswdInstall = TRUE;
endif;
endif;
endif;
SRCDIR = szSrcDir;
endif;
DisplayEndMessage:
// If shared files could not be installed, then users must restart system.
if (BATCH_INSTALL) then
szMsg = "Some files could not be installed because they are " +
"currently in use by other programs in the system. " +
"To allow for proper operation of the new program you should restart" +
"your system at this time.";
CommitSharedFiles(0);
RebootDialog("Restart Windows", szMsg, SYS_BOOTMACHINE);
else
szMsg = "Setup is complete.\n\n\n";
// Message pour Windows NT
if (!bPasswdInstall) then
svMainDirectory = TARGETDIR;
szMsg = szMsg + "Don't forget to copy the license file tee_pso.lic\n";
szMsg = szMsg + " to the FLEXlm directory '" + svMainDirectory + "'\n\n";
endif;
endif;
MessageBeep(0);
MessageBox(szMsg, INFORMATION);
Je signale que j'utilise InstallShield Professional X mais ce code n'a aucune fonction récente.
Je vous remercie d'avance pour votre aide !