cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
anilkumar_mca
Level 8

how to access files from a single .exe?

Hi,

I am looking for a way to access a .dll which will be in the same location of a single .exe as:

C:\setup.exe
C:\Mydll.dll

That .dll is not a part of the installer, it will be in same location of Media..
Labels (1)
0 Kudos
(7) Replies
abby27
Level 4

The builtin property [SETUPEXEDIR] will point to the location of your setup.exe
0 Kudos
jesseD
Level 3

You can also access it via SRCDIR^\\MyDLL.dll
0 Kudos
anilkumar_mca
Level 8

abby27,

Thanks for your replay, i am getting blank value when i try to access SETUPEXEDIR using MsiGetProperty...

any reason? shall i have to declare or define it anywhere?

I tried SRCDIR, but it is pointing temp location 😞
0 Kudos
abby27
Level 4

[SETUPEXEDIR] apparently works only for MSI projects.

Take a look at this thread . I think you need to use PACKAGE_LOCATION property

http://community.installshield.com/showthread.php?t=137557&page=2
0 Kudos
abby27
Level 4

The [SETUPEXEDIR] is valid for MSI projects only.

I am assuming yours is a InstallScript project.
Use PACKAGE_LOCATION, instead
0 Kudos
anilkumar_mca
Level 8

Hi abby,

no use 😞
PACKAGE_LOCATION also showing blank value....

project type: Installscript MSI

can u sugest me any other idea?

fyi...
My project dont have any files, just a screen with inputs and edit a .xml base on this .dll(which i am trying to access)
0 Kudos
anilkumar_mca
Level 8

Hi abby,

Thanks now it is working...

for others information, the mistake i did is:
+ I declared nBuffer once and used twice...
+ the first MsiGetProperty changing nBuffer as 1
+ so for the second line nBuffer will be 1, this causing the issue.. so i re-declare nBuffer with 256

nBuffer = 256;
MsiGetProperty(ISMSI_HANDLE, "MyProperty", strProp, nBuffer);

MsiGetProperty(ISMSI_HANDLE, "SETUPEXEDIR", strPath, nBuffer);

abby once again thanks for your help 🙂
0 Kudos