Я не могу понять, почему строка ниже создает секунду дублирующую секцию frmR
в .ini
файле, который уже содержит секцию с таким именем.
SetIniString('frmR', 'update', 'true', 'C:\junk\test.ini');
Содержимое test.ini
файла после запуска Установщик:
![enter image description here](https://i.stack.imgur.com/x8UkK.jpg)
Мы подумали, что это может быть проблема с кодировкой (мыиспользовать версию 5.6.1 (u)).Но имена разделов в программе просмотра в шестнадцатеричном формате также идентичны:
Содержимое test.ini
файла в шестнадцатеричном формате:
![enter image description here](https://i.stack.imgur.com/G3BZB.jpg)
A дои после версии файла test.ini
здесь: https://drive.google.com/open?id=1vamZxgTvYpAQcOwOnrTpGG63_Bg7i0Js
Ниже приведен файл barebones .iss
, который демонстрирует эту проблему.Поместите test.ini
(из приведенной выше ссылки на Google Диск) в папку с именем C:\junk
перед запуском.
[Code]
procedure DeinitializeSetup();
begin
SetIniString('frmR', 'update', 'true', 'C:\junk\test.ini');
end;
Я обнаружил, что эта проблема возникает только в том случае, если раздел first раздел в файле.Другими словами, файл ниже работает нормально (без добавления дубликата раздела):
[Test section]
Test=test
[frmR]
Top=28
Left=0
Приведенное выше обнаружение не решает проблему, поскольку у меня нет простого способа убедиться, что раздел I 'Запись не является первым разделом в файле.