Вопрос Inno Setup Preprocessor: #define

Хамик

Старожил
Подскажите как можно записать #define в зависимости от битности системы, возможно такое?
Код:
#if IsWin64 \
#define ExeName "MyProg64.exe"
#else
#define ExeName "MyProg.exe"
 

Kotyarko_O

Новичок
Хамик, следует учитывать, что препроцессор отрабатывает своё при компиляции, а не во время использования созданной программы.
Так что, для начала, скажите, что вы собираетесь сделать?

з.ы. С помощью препроцессора можно узнать только архитектуру процессора, например. Но не ОС.
 
Последнее редактирование:

Хамик

Старожил
Так что, для начала, скажите, что вы собираетесь сделать?
Записать в #define значение в зависимости от битности системы, для дальнейшего его использования в скрипте.
з.ы. С помощью препроцессора можно узнать только архитектуру процессора, например. Но не ОС.
Как? Может и подойдет.
 

Kotyarko_O

Новичок
Записать в #define значение в зависимости от битности системы, для дальнейшего его использования в скрипте.
Препроцессор не отрабатывает при использовании скомпилированной программы. Он есть и работает только на стадии компиляции.

Как? Может и подойдет.
Например, так:
Код:
#define Environment GetEnv("PROCESSOR_ARCHITECTURE")
#if Environment == "x86"
  Действие 1
#elif Environment == "x64"
  Действие 2
#endif
 
Сверху