Получение всех изменений во время приложения устанавливает в Windows

(T-SQL) Сначала получает всех пользователей и их maxdate. Соединение с таблицей для нахождения соответствующих значений для пользователей на maxdates.

create table users (userid int , value int , date datetime)
insert into users values (1, 1, '20010101')
insert into users values (1, 2, '20020101')
insert into users values (2, 1, '20010101')
insert into users values (2, 3, '20030101')

select T1.userid, T1.value, T1.date 
    from users T1,
    (select max(date) as maxdate, userid from users group by userid) T2    
    where T1.userid= T2.userid and T1.date = T2.maxdate

результаты:

userid      value       date                                    
----------- ----------- -------------------------- 
2           3           2003-01-01 00:00:00.000
1           2           2002-01-01 00:00:00.000
7
задан MagicAndi 3 July 2009 в 08:38
поделиться

4 ответа

Note: Please see my other answer below as well.


Seeing as you want to create a Wix setup, I want to add a new answer with some hints on how to accomplish this in the quickest way.

I would recommend using the InstallRite (no longer available) software to get a log of changes done by the installer you got. This tool does not allow you to convert the capture into an MSI, but it gives you a good change log (which does contain a bit of junk). The PictureTaker tool appears to have been renamed and is now commercial - it does allow conversion of the capture to MSI though.

There seems to be a new capture tool called Scalable Smart Packager CE (link removed Nov, 2017 - target site has changed and looks a little suspicious). I have not tested this tool thoroughly.

Once you have your log or capture, you can convert to WIX in 2 "fast track" ways:

  1. Use the dark.exe WIX MSI decompiler (if you have an MSI already)
  2. Use the heat.exe WIX harvester tool (to auto-generate WIX XML for folders, registry etc..)

If you use the dark.exe tool you should get a complete WIX XML file that you can then compile again - but you should clean it up a bit (take out the UI junk, then link with WIX's detault built-in GUI etc...).

Using heat.exe is the cleaner way. You simply run the heat.exe tool against a folder, and it will create WIX XML elements for you to install those files. You will then need to put it all together in a WIX source files along with other required sections. I can provide you with a basic WIX "minimal sample" to get you going (I don't seem to be able to attach files here).

3
ответ дан 7 December 2019 в 05:27
поделиться

Похоже, это дубликат вопроса , на который уже был дан ответ на ServerFault (плохо!). Здесь приведены следующие ответы:

3
ответ дан 7 December 2019 в 05:27
поделиться

Лично я бы использовал std :: vector . Вы не только получаете произвольный блок байтов ( гарантированно непрерывный ), но и получаете их в оболочке RAII. Конечно, нет необходимости использовать какие-либо методы std :: vector (кроме, может быть, resize () ), но за это не будет никаких штрафов:

std::vector<char> buffer(7);
void* p = &buffer[0];

Вы можете использовать std :: string , но std :: string подразумевает, что «этот объект содержит символы, которые имеют смысл при распечатке», где std :: vector < char> подразумевает, что «этот объект содержит произвольную группу байтов».

вы получаете их в обертке RAII. Конечно, нет необходимости использовать какие-либо методы std :: vector (кроме, может быть, resize () ), но за это не будет никаких штрафов:

std::vector<char> buffer(7);
void* p = &buffer[0];

Вы можете использовать std :: string , но std :: string подразумевает, что «этот объект содержит символы, которые имеют смысл при распечатке», где std :: vector < char> подразумевает, что «этот объект содержит произвольную группу байтов».

вы получаете их в обертке RAII. Конечно, нет необходимости использовать какие-либо методы std :: vector (кроме, может быть, resize () ), но за это не будет никаких штрафов:

std::vector<char> buffer(7);
void* p = &buffer[0];

Вы можете использовать std :: string , но std :: string подразумевает, что «этот объект содержит символы, которые имеют смысл при распечатке», где std :: vector < char> подразумевает, что «этот объект содержит произвольную группу байтов».

AdminStudio имеет очень полный набор функций и высокую цену (и кривую обучения). Вы можете попробовать использовать пробную версию для повторной упаковки и посмотреть, можно ли использовать полученный MSI-файл. Если это не так, вы можете относительно легко преобразовать его в Wix MSI с помощью инструмента Wix dark.exe.

Затем было больше легких инструментов , таких как PictureTaker и InstallRite , который, как я полагаю, лучше подходит для «отчетов», но может использоваться для создания MSI. Оба этих инструмента, похоже, тоже исчезли .

Похоже, появился новый инструмент захвата под названием Scalable Smart Packager CE (удалена неработающая ссылка, январь 2018 г. - инструмент больше не поддерживается ). Я не тестировал этот инструмент полностью.


ОБНОВЛЕНИЕ : Я только что удалил неработающую ссылку на Scalable Smart Packager CE (кажется, прекращено). Для переупаковки программного обеспечения / инструментов см. Полный список Стефана Крюгера на installsite.org . Трудно уследить за всеми этими полезными инструментами, которые в итоге устарели.


Вы можете использовать метод, предложенный здесь: Отслеживание изменений файлов и реестра , или вы можете попытаться найти старую версию WININSTALL LE на компакт-диске Windows 2000 Server в \ VALUEADD \ 3RDPARTY \ MGMT \ WINSTLE .

Я считаю, что Advanced Installer разрешает захват, но я не уверен, что вы можете экспортировать правильный файл MSI с пробной версией версия (или вообще если на то пошло).

Полный список доступен на installsite.org . Трудно уследить за всеми этими полезными инструментами, которые в итоге устарели.


Вы можете использовать метод, предложенный здесь: Отслеживание изменений файлов и реестра , или вы можете попытаться найти старую версию WININSTALL LE на компакт-диске Windows 2000 Server в \ VALUEADD \ 3RDPARTY \ MGMT \ WINSTLE .

Я считаю, что Advanced Installer разрешает захват, но я не уверен, что вы можете экспортировать правильный файл MSI с пробной версией версия (или вообще если на то пошло).

Полный список доступен на installsite.org . Трудно уследить за всеми этими полезными инструментами, которые в итоге устарели.


Вы можете использовать метод, предложенный здесь: Отслеживание изменений файлов и реестра , или вы можете попытаться найти старую версию WININSTALL LE на компакт-диске Windows 2000 Server в \ VALUEADD \ 3RDPARTY \ MGMT \ WINSTLE .

Я считаю, что Advanced Installer разрешает захват, но я не уверен, что вы можете экспортировать правильный файл MSI с пробной версией версия (или вообще если на то пошло).

или вы можете попытаться найти старую версию WININSTALL LE на компакт-диске Windows 2000 Server в \ VALUEADD \ 3RDPARTY \ MGMT \ WINSTLE .

I полагаю Расширенный установщик позволяет захват, но я не уверен, что вы можете экспортировать правильный файл MSI с пробной версией (или вообще, если на то пошло).

или вы можете попытаться найти старую версию WININSTALL LE на компакт-диске Windows 2000 Server в \ VALUEADD \ 3RDPARTY \ MGMT \ WINSTLE .

I полагаю Расширенный установщик позволяет захват, но я не уверен, что вы можете экспортировать правильный файл MSI с пробной версией (или вообще, если на то пошло).

2
ответ дан 7 December 2019 в 05:27
поделиться

Я несколько раз использовал Process Monitor, чтобы задокументировать влияние установки программного обеспечения COTS на серверы. Всегда казалось, что это помогает.

0
ответ дан 7 December 2019 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: