Has Inno Setup dropped support for images inside RTF files for Windows 10? - inno-setup

I've recently migrated from Windows 7 to Windows 10 and a specific issue has shown up in Inno installers.
Whenever I create an installer and use the directive InfoBeforeFile and specify a RTF file containing images, those images are not shown.
This began to happen after I migrated to Windows 10 LTSC.
I'm currently using Inno Setup Compiler version 6.2.1, but I'm also experiencing this on older versions too.
Has someone experienced the same?
Thanks.
Following is the code and some images.
Code Snipet:
#define MyAppName "My Program"
#define MyAppVersion "1.5"
[Setup]
AppId={{00000000-0000-0000-0000-000000000000}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
InfoBeforeFile=Pics.rtf
OutputDir=c:\
OutputBaseFilename=mysetup
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Files]
Source: "*"; DestDir: "{app}"; Flags: ignoreversion
RTF File contents:
Output of Inno Installer:
Link to RTF file:
Pics.RTF

When I open your .rtf file in WordPad, it displays this warning:
When I refuse to display the blocked contents, it does not display the images:
I'm sure that's the same reason, why the images do not display in Inno Setup. Make sure your document does not contain any untrusted contents.
After few tests, it seems that it is caused by images inserted into the document in Microsoft Word. Inserting the same images in WordPad cause no problems.

Related

In Inno Setup Scripting, how to check windows version and copy corresponding files [duplicate]

I have built an installer with Inno setup. Recently it was found that some applications do not work in Windows XP. These applications work fine with Windows 7 onward. I need to copy files as per Windows version user is installing on and create program menu shortcuts accordingly. How can I implement this?
All sections have MinVersion parameter, which you can use to limit a specific section entry to a specific minimal version of Windows:
[Files]
Source: "NeedsWin7.exe"; DestDir: "{app}"; MinVersion: 6.1
[Icons]
Name: "{group}\Needs Win 7"; Filename: "{app}\NeedsWin7.exe"; MinVersion: 6.1

How to select files to copy as per operating system version in Inno Setup?

I have built an installer with Inno setup. Recently it was found that some applications do not work in Windows XP. These applications work fine with Windows 7 onward. I need to copy files as per Windows version user is installing on and create program menu shortcuts accordingly. How can I implement this?
All sections have MinVersion parameter, which you can use to limit a specific section entry to a specific minimal version of Windows:
[Files]
Source: "NeedsWin7.exe"; DestDir: "{app}"; MinVersion: 6.1
[Icons]
Name: "{group}\Needs Win 7"; Filename: "{app}\NeedsWin7.exe"; MinVersion: 6.1

Running PowerPoint Viewer from commandline on Windows

I'm running PowerPoint Presentations from my desktop app, which is written in the electron (node.js). I use child_process to run powerpnt.exe with params, and it works fine. I'm looking for similar solution for workstations, where only PowerPoint Viewer is installed. On some machines, pptview.exe was working fine, but this not always works, I need a reliable solution. I tried to find out the full PowerPoint Viewer path in Windows registry, but I'm not sure where should I look for. Maybe someone knows the reliable way to run pptx file from nodejs in PowerPoint Viewer?
The default location for PowerPoint viewer is:
32 bit Windows 7: C:\Program Files\Microsoft Office\Office12\pptview.exe
64 bit Windows 7: C:\Program Files(x86)\Microsoft Office\Office12\pptview.exe
I would start by checking if those files exists. If not you could check the registry. HKEY_CLASSES_ROOT in the registry holds information on which application should open which file. You should find something like HKEY_CLASSES_ROOT\.pptx\.
If all else fails you could try to do a silent installation of PowerPoint viewer in the background. Download the installation file in the background and run it with PowerPointViewer.exe /quiet /passive /norestart. More info here.

Inno Setup Error "Text is not inside a section." after upgrade

I recently upgraded my Inno Setup from version 5.4.3(u) to version 5.5.5(a), and now I'm getting an error for a script which used to compile fine with the previous version.
This is Inno Setup's output:
[ISPP] Preprocessing.
[ISPP] Preprocessed.
Error on line 1 in c:\Workspace\MyProject\MyInstaller.iss: Text is not inside a section.
The line in question is:
#if MYLANG == MYLANG_ENGLISH
So the processor is running, but somehow this line is not preprocessed. Why does this happen and how do I fix this?
It turned out that the problem was that I had upgraded from a Unicode version to an ASCII version. After re-installing, this time with 5.5.5 (u), I don't get any errors anymore.

how to compile lex/yacc files on windows "without cygwin"

We need to create .c file from .l (lax) and .y (yacc) file using visual studio 1o on windows 2008.
We cant use Cygwin at all.
Where does Flex and bison come into picture here ? Even Flex and Bison use cygwin internally or not ?
how are we supposed to go about it ?
You can download a windows version of flex from sourceforge and bison from sourceforge, you then need to add them to the PATH environment variable. Be sure not to have a space in the install directory (i.e. do not put in C:\Program Files\ etc). You can then build the output with CL from visual studio command line tools if you wish.
As previously mentioned MinGw is another option.
I have even made a YouTube Video showing the install of these packages!

Resources